设计模式简介(温习)


一、设计模式简介

设计模式是 软件开发人员对软件开发过程中解决方案的总结。
设计模式是 一种工程模式,设计模式可以作为解决一类问题的标准方法,
采用设计模式所对应的解决方案,可使系统易于理解,代码更可靠,易于系统扩展。

设计模式是1994年由Erich Gamma、Richard Helm、Ralph Johnson 和 John Vlissides 提出的概念。
设计模式基于 对接口编程和优先组合对象其次考虑继承 来进行解决方案的设计。


二、设计模式基本原则(面向对象开发原则)

1、开闭原则(Open Close Principle)
开闭原则:对扩展开放,对修改关闭。
禁止修改原功能,但可通过扩展增加功能—满足此原则可使程序易于维护和升级。

2、替换原则(Liskov Substitution Principle)
子类可以替换父类出现的任何地方

3、依赖原则(Dependence Inversion Principle)
此原则指开发时依赖抽象,针对接口进行编程,而不依赖具体的类。

4、接口分离原则(Interface Segregation Principle)
模块间通过多个接口分离开,避免使用单个接口,降低类之间的耦合度。

5、Demeter原则(Demeter Principle)
实体类之间尽量的少发生相互作用,使系统功能模式相对独立。

6、组合原则(Composite Reuse Principle)
尽量使用组合类的方式,少用继承生成新的类。


三、常见设计模式类型

相关描述

涉及模式
1

创建型模式
此类型设计模式指,当我们创建一个对象时,系统会hidden创建逻辑,主要应用于多种不同的场景系统可以自动返回相应的对象。

单例模式(Singleton Pattern)
建造者模式(Builder Pattern)
原型模式(Prototype Pattern)
工厂模式(Factory Pattern)
抽象工厂模式(Abstract Factory Pattern)
2

结构型模式

此类设计模时,主要是在类的组合上,产生新的功能,避免类爆炸,同时也满足 “组合原则”。

适配器模式(Adapter Pattern)
桥接模式(Bridge Pattern)
过滤器模式(Filter、Criteria Pattern)
组合模式(Composite Pattern)
装饰器模式(Decorator Pattern)
外观模式(Facade Pattern)
享元模式(Flyweight Pattern)
代理模式(Proxy Pattern)
3

行为型模式
此类设计模式关注对象之间的通信。

责任链模式(Chain of Responsibility Pattern)
命令模式(Command Pattern)
解释器模式(Interpreter Pattern)
迭代器模式(Iterator Pattern)
中介者模式(Mediator Pattern)
备忘录模式(Memento Pattern)
观察者模式(Observer Pattern)
状态模式(State Pattern)
空对象模式(Null Object Pattern)
策略模式(Strategy Pattern)
模板模式(Template Pattern)
访问者模式(Visitor Pattern)