23种设计模式之六大原则

设计模式大纲

  • 对接口编程而不是实现编程
  • 优先使用对象组合而不是继承
  • 设计模式提供软件开发常面问题的最优解
  • 23种设计模式分为Creational Paterns,Structural Patterns,Behavioral Patterns
设计模式
创建型
结构型
行为型
创建型
创建型
Factory
AbsractFactory
Singleton
Builder
Prototype原型
结构型
结构型
Adapter
Bridge
Filter
Composite
Decorator
Facade外观
Flyweight享元
Proxy
行为型
行为型
ChainOfResponsibility
Command
Interpreter
Iterator
Mediator中介
Memento备忘录
Observer观察者
State状态
NullObject空对象
Strategy
Template
Visitor
J2EE
MVC式
业务代表BusinessDelegate
组合实体CompositeEntity
数据访问DataAccess
前端控制器FrontController
拦截过滤器InterceptingFilter
服务定位器ServiceLocator
传输对象TransferObject

设计模式六大原则

  1. 开闭原则

程序要想易拓展,必须支持热拔插,用接口和抽象类实现功能拓展,不许修改源码

  1. 里氏替换原则

多态核心思想.用于实现开闭原则.任何父类能出现的地方,子类一定能出现且不出问题.

  1. 依赖倒转

针对接口编程,依赖于抽象而不是具体

  1. 接口隔离原则

将功能拆成多个相互隔离的接口.降低类之间的耦合度.

  1. 迪米特法则,最少知道

一个实体最好尽可能少地与其他实体发生作用,少用其他实体或少被其它实体用

  1. 合成复用原则(单一职责)

继承是耦合度最高的一种关系,严重破坏高内聚低耦合的设计.我们要尽可能使用合成/聚合,真要继承最好只继承抽象类.一个内聚的类最好只有一个引起它变化的外在原因.内聚性不强的就不要写到一个类中.

精简版:设计模式就是讲如何更好地搞对象

创建型:对象怎么来的

结构型:对象和谁有关系

行为型:对象与对象在干嘛

J2EE模式:表示层,对象合起来要干嘛,行为型的升级.

  1. SRP 尽量聚合/组合,继承抽象类,一个接口对应一种变化
  2. OCP 热拔插,提高可拓展.需要用到LSP,DIP,SRP
  3. LSP 多态,父子类相互转型
  4. DIP 针对接口编程,内部实现无论怎么改,接口输出不变,掉用该接口的类就不会变
  5. ISP 接口要隔离,不同的功能要写成不同的接口,单独设计.
  6. DP/LKP 最少知道,即少出现别的类的实体
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章