随笔分类 -  设计模式

摘要:概述 在庞大而复杂的子系统中,客户端需要调用子系统中某些个方法实现业务服务,那么可以借助一个外观对象来简化客户端与子系统的对接,降低客户端与子系统的耦合,且客户端调用业务服务显得更简洁方便。 **外观模式:**为子系统中的一组接口提供一个统一的入口。外观模式定义了一个高层接口,这个接口使得这一子系统 阅读全文
posted @ 2020-09-24 22:44 Faink 阅读(115) 评论(0) 推荐(0)
摘要:生成器模式 概述 把创建对象的步骤抽象成了生成器,通过指导类(director)控制对象生成的步骤顺序进行。 感觉是否和工厂模式类似?但侧重点不同,生成器的重点在于对于生成对象的步骤细化,有些步骤如果不需要或者生产次序需要改变,指导类就可以对生成对象步骤进行取舍或改变次序。而工厂类做不到这点,需要修 阅读全文
posted @ 2020-09-12 20:36 Faink 阅读(369) 评论(0) 推荐(0)
摘要:概述 利用一个包含行为的封装对象(封装器)把源对象装饰(封装)起来,使得其绑定新的行为。 (感觉就像是套娃) 代码示例: 举一个食物拼盘的示例 拼食的公共接口(抽象构件) public interface FoodSplicing { public String getFoodDesc(); pub 阅读全文
posted @ 2020-08-10 21:07 Faink 阅读(124) 评论(0) 推荐(0)
摘要:适配器模式 概述 使用适配器类让一个对象获得或拥有另一个对象的行为,单向兼容或者双向兼容(相互兼容)。 适配器模式很好理解,就是让本不兼容的对象,用适配器让他们相互兼容。 话不多说,看代码 我举一个数据线接口的例子: Type-C孔 public class TypeC_Hole { private 阅读全文
posted @ 2020-07-26 11:31 Faink 阅读(152) 评论(0) 推荐(0)
摘要:简单工厂模式 假设我们有一个造车厂,可以制造各种车。 Car接口 public interface Car{//通用的产品接口 void show(); } 具体的car车类型 public class QQCar implements Car{ public void show(){ System 阅读全文
posted @ 2020-07-17 15:35 Faink 阅读(247) 评论(0) 推荐(0)
摘要:七大原则 开闭原则 软件实体对象(类、模块、方法)对于扩展时开放的,对修改时关闭的。主要强调利用’抽象‘构造框架,利用’实现‘扩展细节功能,提高代码可复用性和可维护性。 单一职责原则 一个类、接口、方法负责一个职责。(高内聚) 但是实际上很难满足完全单一职责原则,在类方法足够少时(逻辑足够简单),可 阅读全文
posted @ 2020-07-16 20:59 Faink 阅读(161) 评论(0) 推荐(0)
摘要:单例模式的几种实现 饿汉式: 在类加载时就初始化创建对象,是线程安全的,不管何时使用都会创建,可能会浪费内存,所以称之为饿汉。 public class HungrySingleton { private static HungrySingleton instance = new HungrySin 阅读全文
posted @ 2020-07-16 20:54 Faink 阅读(141) 评论(0) 推荐(0)