目录
种类 | 创建者模式 | 结构型模式 | 行为型模式 |
---|---|---|---|
23 | 抽象工厂( AbstractFactory ) 工厂方法( FactoryMethod) 单态模式 ( Singleton ) 建造者模式 (Builder ) 原型模式( Prototype) | Adapter(适配器模式) Bridge ( 桥接模式 ) Composite ( 组合模式 ) Decorator (装饰模式 ) Facade ( 外观模式 ) Flyweight ( 享元模式 ) Proxy ( 代理模式 ) | Chain of Responsibility ( 责任链模式 ) Command ( 命令模式 ) Interpreter ( 解释器模式 ) Iterator ( 迭代器模式 ) Mediator ( 中介者模式 ) Memento ( 备忘录模式 ) Observer ( 观察者模式 ) State ( 状态模式 ) Strategy ( 策略模式 ) TemplateMethod ( 模板方法 ) Vis*tor ( 访问者模式 ) |
1、创建者模式
工厂模式
(1)简单工厂模式
描述:定义一个类用来创建其他类的实例,被创建的实例通常具有共同的父类
类图:
(2)工厂方法模式:
描述:定义一个创建产品对象的接口,将实际创建工作推迟到子类当中,核心类成为一个抽象工厂的角色。好处是可以使系统在不修改具体角色的情况下引进新产品。
类图:
简单工程模式和工厂方法模式比较:
- 简单工厂模式把核心放在具体类上,工厂方法模式的核心则是一个抽象类
- 当系统扩展需要添加新产品对象时,简单工厂模式需要修改工厂方法,扩展性不好,而工厂方法模式只需添加一个具体对象和一个具体工厂对象,不需要修改原有工厂对象,符合“开放-封闭”原则。
单例模式
描述:一个类只有一个实例,提供对该实例加以访问的全局访问方法
实现方法:饿汉式,懒汉式,双重检查
应用:
在多线程中共享一个资源或者操作同一个对象
在整个程序空间使用全局变量,共享资源
在大规模系统中,节省对象创建时间
2、结构型模式
装饰者模式
描述:动态地给对象添加一些功能,比继承方式更灵活
类图:
应用:
需要增强一个对象中某些函数的功能。
需要动态地给一个对象增加功能,这些功能可以再动态地撤销。
需要增加 由一些基本功能排列组合 而产生的大量功能,从而使继承体系大爆炸
3、行为型模式
观察者模式:
描述:定义对象间一对多的依赖关系
类图:
应用:
侦听事件驱动程序设计中的外部事件
侦听/监视某个对象的状态变化
发布者/订阅者模型中,当一个外部事件(新消息等)被触发时,通知邮件列表中的订阅者
未完待续。。。。