logo头像

Aoho's Blog

设计模式

设计模式之访问者模式

属于行为型模式。 访问者模式的定义 封装一些作用于某种数据结构中的各元素的操作,它可以在不改变这个数据结构的前提下定义作用于这些元素的新的操作。 在软件开发中,有时候也需要处理像处方单这样的集合对象结构,在该对象结构中存储了多个不同...

设计模式之模板方法模式

模板方法模式的定义 模板方法模式是类的行为模式。准备一个抽象类,将部分逻辑以具体方法以及具体构造函数的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。这...

设计模式之外观模式

1. 概述外观模式通过外观的包装,使复杂的系统对外只能看到外观对象,而不会看到具体的细节对象,为子系统中的一组接口提供了一个统一的访问接口,这个接口使得子系统更容易被访问或者使用。 这样无疑会降低应用程序的复杂度,并且提高了程序的可维...

设计模式之备忘录模式

设计模式之备忘录模式属于行为型设计模式。 备忘录模式的定义在不破坏封装性的前提下,捕获一个对象的内部状态,并在该对象之外保存这个状态。这样以后就可将该对象恢复到原先保存的状态。 备忘录模式的结构备忘录模式中的角色对象: 发起者对象O...

设计模式之建造者模式

1. 名词解释 将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。 比如一台电脑包括主机、显示器、键盘等外设,这些部件组成了完整的一台电脑。如何将这些部件组装成一台完整的电脑并返回给用户,这是建造者模式需要解...

设计模式之代理模式

代理模式属于结构性模式。 代理模式的定义代理模式为其他对象提供一种代理以控制对这个对象的访问。从定义可以知道代理模式控制客户端对一个对象的访问,它跟现实中的中介代理类似,只是作为代表做一些受理工作,真正执行的并不是它自己。 代理模式的...

设计模式之单例模式

上一篇写了23种设计模式总览,本文主要介绍创建模式中的单例模式,日常工作中也会有经常用到。 1. 定义首先,什么是单例模式?单例模式有以下特点: 从字面就可以理解,单例类只能有一个实例。 单例类必须自己创建自己的唯一实例。 单例类必...

设计模式之线程池模式

背景Thread-Per-Message Pattern,是一种对于每个命令或请求,都分配一个线程,由这个线程执行工作。它将委托消息的一端和执行消息的一端用两个不同的线程来实现。该线程模式主要包括三个部分: Request参与者(委...

设计模式之装饰器模式

装饰器模式属于结构型模式。 装饰器模式的定义装饰模式可以动态的给一个对象增加一些额外的功能(增强功能) 相比于继承,装饰模式能对不支持继承的类进行增强;并且比继承更灵活,不需要生成大量的子类。 装饰器模式的组成装饰器模式的类图如下: ...

设计模式之抽象工厂模式

工厂模式属于创建型模式。 工厂模式的定义工厂模式包括:简单工厂,工厂方法,抽象工厂三种。本文介绍前两种。 目的:松耦合,不针对具体类。 作用:减少应用程序与具体类的依赖,实现松耦合。针对抽象编程,不针对具体类编程。 在上一篇设计模...