摘要: 基本需求 咖啡的种类有很多种,调料也有很多种,下单时,可以点单品咖啡也可以点单品咖啡+调料的组合,并计算下单时花费的金额 传统方式 方式一 创建一个抽象类Drink,让所有的单品咖啡和组合咖啡都继承Drink类(组合很多) UML类图 如果新增加一个单品咖啡或者调料,类的数量就会倍增,产生类爆炸 方 阅读全文
posted @ 2020-11-18 15:01 xiaokantianse 阅读(464) 评论(0) 推荐(1) 编辑
摘要: 基本需求 现在对不同手机类型的不同品牌实现操作,比如手机品牌有很多种,华为,小米等,手机的形状也有很多种,直立,折叠等 现在新增加一个形状或者品牌 传统方式 现在新增加一个形状或者品牌,都需要增加多个类,比如,新增加一个中兴,则也要增加直立的中兴手机,折叠的中兴手机,增加形状也一样,容易产生类爆炸的 阅读全文
posted @ 2020-11-17 14:55 xiaokantianse 阅读(106) 评论(0) 推荐(0) 编辑
摘要: 基本需求 将一个220V的电压输出成5V的电压,其中220V电压为被适配者,变压器为适配器,5v电压为适配目标 基本介绍 适配器模式属于结构型模式,将某个类的接口转换成客户端期望的另一个接口表示,主的目的是兼容性,让原本因接口不匹配不能一起工作的两个类可以协同工作。其别名为包装器(Wrapper) 阅读全文
posted @ 2020-11-17 14:52 xiaokantianse 阅读(253) 评论(0) 推荐(1) 编辑
摘要: 基本需求 建房子需要,打基地,砌墙,封顶等三个步骤,而且建造每种房子的步骤都一样,房子的种类不一样,建造的过程是一样的,但是要求不同 例如:去肯德基,汉堡、可乐、薯条、炸鸡翅等是不变的,而其组合是经常变化的,生成出所谓的"套餐" 传统方式 直接在Abstract类中定义三种抽象方法,并使用build 阅读全文
posted @ 2020-11-13 18:13 xiaokantianse 阅读(81) 评论(0) 推荐(0) 编辑
摘要: 基本需求 有一个Sheep类的对象,我们现在需要创建100个和该对象属性完全一致的对象 传统方式 使用new关键字创建100个对象,将这一百个对象属性使用原型的get方法进行复制 代码实现 // Sheep类 @Data @ToString @NoArgsConstructor @AllArgsCo 阅读全文
posted @ 2020-11-12 10:04 xiaokantianse 阅读(88) 评论(0) 推荐(0) 编辑
摘要: 基本需求 一个披萨店需要订购不同种类的披萨 传统方式 实现思路 在订购类中根据用户不同的输入直接创建不同的披萨实体类进行返回 UML类图 代码实现 披萨类 // 抽象父类 public abstract class Pizza { String name; public abstract void 阅读全文
posted @ 2020-11-11 10:42 xiaokantianse 阅读(120) 评论(0) 推荐(0) 编辑
摘要: 设计模式是面对同类软件工程设计问题所总结出来有用的经验,模式不是代码,是某类问题通用的解决方式 设计模式的本质是提高软件的维护性,通用性和扩展性,并降低软件的复杂度 java设计模式共23种,分为三类 创建型模式:单例模式、抽象工厂模式、原型模式、建造者模式、工厂模式 结构型模式:适配器模式、桥接模 阅读全文
posted @ 2020-11-09 17:30 xiaokantianse 阅读(90) 评论(0) 推荐(0) 编辑
摘要: ##一、七大设计原则 设计模式的目的: 代码重用性 (即:相同功能的代码,不用多次编写) 可读性 (即:编程规范性, 便于其他程序员的阅读和理解) 可扩展性 (即:当需要增加新的功能时,非常的方便,称为可维护) 可靠性 (即:当我们增加新的功能后,对原来的功能没有影响) 使程序呈现高内聚,低耦合的特 阅读全文
posted @ 2020-11-09 17:27 xiaokantianse 阅读(219) 评论(0) 推荐(0) 编辑
摘要: 一、java发邮件 电子邮件服务器:这些邮件服务器就类似于邮局,它主要负责接收用户投递过来的邮件,并把邮件投递到邮件接收者的电子邮箱中,按功能划分有两种类型 SMTP邮件服务器:用户替用户发送邮件和接收外面发送给本地用户的邮件 POP3/IMAP邮件服务器:用户帮助用户读取SMTP邮件服务器接收进来 阅读全文
posted @ 2020-11-09 13:56 xiaokantianse 阅读(1656) 评论(0) 推荐(0) 编辑
摘要: 基本介绍 栈是一个先入后出的有序列表,类似于子弹夹 栈是限制线性元素表中元素的插入和删除只能在线性表的同一端进行的一种特殊线性表,允许插入和删除的一端,为变化的一端,为栈顶,另一端为固定的一端,为栈底 栈中先放入的元素后删除,最后放入的元素先删除 应用场景 java中子程序的调用,递归调用 表达式的 阅读全文
posted @ 2020-08-31 14:02 xiaokantianse 阅读(92) 评论(0) 推荐(0) 编辑