文章分类 - Design
摘要:基本介绍 在模板模式(Template Pattern)中,一个抽象类公开定义了执行它的方法的方式/模板。 它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。 这种类型的设计模式属于行为型模式。 特点:在有一些通用方法都需要使用时,可将其定义为模板 举例:在造房子的时候,地基、走线、
阅读全文
摘要:基本介绍 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。 在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的context对象。 策略对象改变context对象的执行算法 特点:定义一系列的算法,把它
阅读全文
摘要:基本介绍 状态模式,当对象的内部状态改变的时候,允许对象执行不同的流程,看起来就像改写了一个对象,核心的方法是把复杂状态变化情况下的流程抽象出来,简化复杂情况状态的判断。 特点:允许对象在内部状态发生改变时改变它的行为,对象看起来好像修改了它的类 案例图示 定义一个运维脚本,用于监控CPU使用率状态
阅读全文
摘要:基本介绍 命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式。 请求以命令的形式包裹在对象中,并传给调用对象。 调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该对象执行命令。 特点:将一个请求封装成一个对象,从而使您可以用不同的请求对客户进行参数
阅读全文
摘要:基本介绍 备忘录模式(Memento Pattern)保存一个对象的某个状态,以便在适当的时候恢复对象。 备忘录模式属于行为型模式。 特点:不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态 案例图示 备忘录模式使用三个类 Memento、Originator 和 CareTa
阅读全文
摘要:基本介绍 在访问者模式(Visitor Pattern)中,我们使用了一个访问者类,它改变了元素类的执行算法。 通过这种方式,元素的执行算法可以随着访问者改变而改变。这种类型的设计模式属于行为型模式。 根据模式,元素对象已接受访问者对象,这样访问者对象就可以处理元素对象上的操作。 特点:主要将数据结
阅读全文
摘要:基本介绍 中介者模式(Mediator Pattern)是用来降低多个对象和类之间的通信复杂性。 这种模式提供了一个中介类,该类通常处理不同类之间的通信,并支持松耦合,使代码易于维护。 中介者模式属于行为型模式。 特点:用一个中介对象来封装一系列的对象交互,中介者使各对象不需要显式地相互引用,从而使
阅读全文
摘要:基本介绍 当对象间存在一对多关系时,则使用观察者模式(Observer Pattern)。 比如,当一个对象被修改时,则会自动通知依赖它的对象。观察者模式属于行为型模式。 特点:定义对象间的一种一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新 观察者模式也被称为
阅读全文
摘要:基本介绍 迭代器模式(Iterator Pattern)是 Java 和 .Net 编程环境中非常常用的设计模式。 这种模式用于顺序访问集合对象的元素,不需要知道集合对象的底层表示。 迭代器模式属于行为型模式。 特点:提供一种方法顺序访问一个聚合对象中各个元素,而又无须暴露该对象的内部表示 案例图示
阅读全文
摘要:基本介绍 解释器模式(Interpreter Pattern)提供了评估语言的语法或表达式的方式,它属于行为型模式。 这种模式实现了一个表达式接口,该接口解释一个特定的上下文。 这种模式被用在 SQL 解析、符号处理引擎等。 特点:给定一个语言,定义它的文法表示,并定义一个解释器,这个解释器使用该标
阅读全文
摘要:基本介绍 责任链模式(Chain of Responsibility Pattern)为请求创建了一个接收者对象的链。 这种模式给予请求的类型,对请求的发送者和接收者进行解耦,属于行为型模式。 在这种模式中,通常每个接收者都包含对另一个接收者的引用。如果一个对象不能处理该请求,那么它会把相同的请求传
阅读全文
摘要:基本介绍 享元模式(Flyweight Pattern)主要用于减少创建对象的数量,以减少内存占用和提高性能。 这种类型的设计模式属于结构型模式,它提供了减少对象数量从而改善应用所需的对象结构的方式。 享元模式尝试重用现有的同类对象,如果未找到匹配的对象,则创建新对象。 特点:运用共享技术有效地支持
阅读全文
摘要:基本介绍 装饰器模式(Decorator Pattern)允许向一个现有的对象添加新的功能,同时又不改变其结构。这种类型的设计模式属于结构型模式,它是作为现有的类的一个包装。 这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额外的功能。 特点:动态地给一个对象添加
阅读全文
摘要:基本介绍 在代理模式(Proxy Pattern)中,一个类代表另一个类的功能。这种类型的设计模式属于结构型模式。 在代理模式中,我们创建具有现有对象的对象,以便向外界提供功能接口。 特点:为其他对象提供一种代理以控制对这个对象的访问 和适配器模式的区别:适配器模式主要改变所考虑对象的接口,而代理模
阅读全文
摘要:基本介绍 外观模式(Facade Pattern)隐藏系统的复杂性,并向客户端提供了一个客户端可以访问系统的接口。这种类型的设计模式属于结构型模式,它向现有的系统添加一个接口,来隐藏系统的复杂性。 这种模式涉及到一个单一的类,该类提供了客户端请求的简化方法和对现有系统类方法的委托调用。 特点:为子系
阅读全文
摘要:基本介绍 组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象。组合模式依据树形结构来组合对象,用来表示部分以及整体层次。这种类型的设计模式属于结构型模式,它创建了对象组的树形结构。 特点:多个小的构成一个大的,根据不同粒度可以无限制的进行组合
阅读全文
摘要:原型模式 桥接模式将一个事物一分为二,把抽象的部分和实现的部分进行抽离,达到解耦的作用。 同时,被拆分的2个部分也都可以进行独立的变化,桥接模式属于结构型模式。 特点:一分为二、独立扩展 案例图示 拿一支笔来举例,它拥有钢笔、毛笔等类型(实体)。 同时,不同的实体类型有不同的作用,如钢笔就写硬笔字(
阅读全文
摘要:基本介绍 适配器模式(Adapter Pattern)是作为两个不兼容的接口之间的桥梁。 这种类型的设计模式属于结构型模式,它结合了两个独立接口的功能。 这种模式涉及到一个单一的类,该类负责加入独立的或不兼容的接口功能。 特点:兼容不同功能接口的2个类,让这2个类都能用相同的方式进行功能调用 案例图
阅读全文
摘要:基本介绍 原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能。这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式。 这种模式是实现了一个原型接口,该接口用于创建当前对象的克隆。 当直接创建对象的代价比较大时,则采用这种模式。 特点:仅存在一份,后面如果
阅读全文
摘要:基本介绍 一个对象只允许被一次创建,一个类只能创建一个对象,并且提供一个全局访问点。 单例模式应该是应用最广泛,实现最简单的一种创建型模式。 特点:全局唯一,允许更改 案例图示 一个应用中打开文件获得文件内容后仅占用一块内存,可以用单例模式实现: 优缺点 优点: 避免对资源的多重占用,如写入文件操作
阅读全文

浙公网安备 33010602011771号