设计模式15-各种设计模式总结与对比
1.15.各种设计模式总结与对比
1.15.1.各种设计模式总结与对比[上]
时长:51min
学习目标:
>整体上了解并总结gof 23种设计模式
》了解设计模式之间的关联,及混淆之处
经验总结:
》学习设计模式,重在其”道“,即思想
》要注重长期修炼,不会是一日即通之理。
》不要生套设计模式,而是分析具体业务逻辑,从思维上自然联想到设计模式解决业务问题。
15.1.1.七大设计原则回顾
OCP【Open-Close】:开闭---对扩展开放,对修改关闭
DIP【Dependence Inversion】:依赖倒置【高层不该依赖低层】
SRP【Simple Responsibility】:单一职责【一个类只干一件事】
ISP【interface segregation】:接口隔离【一个接口只干一件事,高聚合,低耦合】
LoD【Law of Demeter】:迪米特法则【只和朋友交流】
LSP【Liskov substitution】:里氏替换原则【多态应用】
CARP【composite /Aggregate Reuse】:合成复用原则【多组合,少继承】
15.1.2.GoF23 种设计模式总述
15.1.2.1.GOF简述
GOF是设计模式的经典名著Design Patterns: Elements of Reusable Object-Oriented Software
(中译本名为《设计模式——可复用面向对象软件的基础》)的四位作者,他们分为是:
Elich Gamma、Richard Helm、Ralph Johnson、以及John Vlissides。
这四个人常被称为Gang of Four, 即四人组,简称Gof。
他们在书本总结了23个设置模式,以下将给出这23个设计模式的简要说明。
GoF的设计模式,是javaSE和j2EE框架之间一座隐性桥梁。
15.1.2.2.设计模式分类
创建型:涉及到创建对象
工厂方法模式,抽象工厂模式【简单工厂,不属于gof23】,建造者模式【频次高】
单例模式,原型模式
结构型:实现代码复用,组合
适配器,装饰器,代理,门面模式
组合模式,享元模式,桥接模式
行为型:定义代码运行时的方式,组合形式
策略模式,观察者模式,责任链模式,解释器模式【正则,aop表达式】
模板方法,迭代器,中介者,命令者,
访问者,备忘录模式,状态模式