Java设计原则与模式

2012-07-03

对于面向对象的软件系统设计来说,可维护和可重用是两大指标。

具体到设计原则上来,又可分为6项基本原则:

- 开闭原则(Open Close Principle/OCP): 抽象化

- 里氏代换原则(Liskov Substitution Principle/LSP):基类可以出现的地方,一定可以用子类来替换

- 依赖倒转原则(Dependency Inversion Principle/DIP): 要依赖于抽象类,而不是具体类

- 接口隔离原则(Interface Segregation Principle/ISP): 使用多个专门的接口比使用单一的总接口要好,基于角色分离

- 合成/聚合复用原则(Composite/Aggregate Reuse Principle/CARP): 尽量使用合成/聚合,尽量不用继承

- 迪米特法则(Law of Demeter/LoD)/最小知识原则(Lowest knowledge Principle):  仅与朋友通信

基于这6项基本原则,于是无数前辈大牛们提炼出了设计模式,最著名的就是GoF的23项设计模式:

可以分为3大类:

-创建模式

- 简单工厂模式(Simple Factory): 又叫静态工厂方法,由工厂对象决定创建哪一种产品实例

- 工厂方法模式(Factory Method): 定义一个创建对象的工厂接口,将具体创建工作推迟到之类中

- 抽象工厂模式(Abstract Factory): 创建多个产品族中的产品对象

- 单例模式(Singleton):

- 多例模式(Multiton)

- 建造模式(Builder)

- 原型模式(Prototype)

- 结构模式

-适配器模式(Adapter)

- 缺省适配器模式(Default Adapter)

- 合成模式(Composite)

- 装饰模式(Decorator)

- 代理模式(Proxy)

- 享元模式(Flyweight)

- 门面模式(Facade)

- 桥梁模式(Bridge)

- 行为模式

- 不变模式(Immutable)

- 策略模式(Strategy)

- 模板方法模式(Template Method)

- 观察者模式(Observer)

- 迭代模式(Iterator)

- 责任链模式(Chain of Resposibility)

- 命令模式(Command)

- 备忘录模式(Memento)

- 状态模式(State)

- 访问者模式(Visitor)

- 解释器模式(Interpreter)

- 调停者模式(Mediator)

相关推荐