随笔分类 - 设计模式
摘要:模板方法模式定义了一个算法的步骤,并允许子类别为一个或多个步骤提供其实践方式。让子类别在不改变算法架构的情况下,重新定义算法中的某些步骤。 UML: 角色说明: AbstractClass:实现了模板方法,定义了算法骨架,子类需要实现抽象方法 operation1、2、3... ConcreteCl
阅读全文
摘要:为其他对象提供一种代理以控制对这个对象的访问。 代理模式分为:静态代理、动态代理(JDK代理、cglib代理) 解决问题: 在面向对象系统中,有些对象由于某些原因(比如对象创建开销很大,或者某些操作需要安全控制,或者需要进程外的访问),直接访问会给使用者或者系统结构带来很多麻烦,我们可以在访问此对象
阅读全文
摘要:享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用来提高性能。 UML: 享元模式 ≈ 工厂模式 + 单例模式(提供对象池)+ 组合模式(组合非享元对象) 享元模式的结构: 两种状态: 内部状态:存储在享元内部,不会随环境的改变而有所不同,是可以共享的。 外部状
阅读全文
摘要:外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。向现有的系统添加一个接口,来隐藏系统内部。客户端只需要调用接口、而无需在意实现细节 UML: 外观模式的主要角色: Facade:外观角色 Client:外观接口调用者 子系统:各个功能模块,完成
阅读全文
摘要:将对象组合成树形结构以表示“部分-整体”的层次结构。创建一个包含自己对象组的类,提供修改对象组的方式,让用户对单个对象和组合对象的访问具有一致性 UML: Composite对象结构: 组合模式的主要角色: Component(抽象组件):为组合中所有对象提供一个接口,适当情况下实现所有类共有的接口
阅读全文
摘要:装饰器模式(Decorator Pattern)是在不必改变原类文件且不使用继承的情况下,动态地扩展一个对象的功能。通过创建了一个装饰类,用来包装原有的类,来通过额外的功能。 装饰模式中的角色: 抽象组件(Component):抽象接口,规范接收附加功能的对象。 具体构件(Concrete Comp
阅读全文
摘要:桥接模式是将抽象部分与它的实现部分分离,使它们都可以独立地变化。这种模式涉及到一个作为桥接的接口,使得实体类的功能独立于接口实现类。这两种类型的类可被结构化改变而互不影响。 UML: Cast: 画一个图形,可以画长方形、正方形、圆形、三角形等;每个形状可以有白色、红色、蓝色、黄色、绿色等,最简单的
阅读全文
摘要:适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。允许通常因为接口不兼容而不能在一起工作的类工作在一起 类适配器: 类适配器的3个角色: 目标(Target)接口:当前系统业务所期待的接口(或抽象类) 适配者(
阅读全文
摘要:建造者模式(Builder Pattern)使用多个简单的对象一步一步构建成一个复杂的对象,将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 建造者模式的四个角色: Product(产品):具体的产品对象 AbstractBuilder(抽象建造者):创建Product对象
阅读全文
摘要:原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。当直接创建对象的代价比较大时,则采用这种模式。例如,一个对象需要在一个高代价的数据库操作之后被创建。我们可以缓存该对象,在下一个请求时返回它的克隆,在需
阅读全文
摘要:工厂模式(Factory Pattern)提供了一种创建对象的方式。在工厂模式中,我们在创建对象时不会对客户端暴露创建逻辑,将实例化对象的代码提取出来,放到一个类中统一管理和维护,达到和主项目的依赖关系的解耦。从而提高项目的扩展和维护性。 1、简单工厂模式 简单工厂模式又叫静态工厂模式,是最简单实用
阅读全文
摘要:定义 单例模式,属于创建类型的一种常用的软件设计模式。通过单例模式的方法创建的类在当前进程中只有一个实例(根据需要,也有可能一个线程中属于单例,如:仅线程上下文内使用同一个实例) 说明: 这一模式的目的是使得类的一个对象成为系统中的唯一实例。要实现这一点,可以从客户端对其进行实例化开始。因此需要用一
阅读全文
摘要:1、单一职责原则 将不同的职责封装到不同的类或模块中,降低耦合性、增强内聚性一个类应该只有一个职责(不代表只有一个方法), 如果一个类承担的职责过多,就等于把这些职责耦合在一起了。这种耦合会导致脆弱的设计,当发生变化时,设计会遭受到意想不到的破坏。所以要尽可能的遵守单一职责原则。 Cast1: 1
阅读全文

浙公网安备 33010602011771号