您的位置:首页 > 其它

设计模式

2016-01-03 14:39 190 查看
面向对象,针对接口编程

设计模式通常分为三大类

创建型模式

5种:工厂方法模式,抽象工厂模式,单例模式,建造者模式,原型模式;

结构型模式

7种:适配器模式,装饰器模式,代理模式,桥接模式,外观模式,组合模式,享元模式;

行为型模式

11种 : 策略模式,模板方法模式,观察模式,迭代器模式,责任链模式,命令模式,备忘录模式,状态模式,访问者模式,解释器模式,中介者模式;

设计模式的六大原则

总的原则是开闭原则(Open Close Principle)(对修改关闭,对扩展开放)。程序需要拓展的时候,不能去修改原有的程序,而是通过扩展原有的程序去实现拓展。要实现这点,就得采用面向对象,针对接口编程。这样就可以使程序更易扩展,维护和升级。

一,单一职责原则(Single-Resposibility Principle)

每个接口,类,方法只能存在一个导致其变更的原因。即每个接口,类和方法具有单一的职责。

二,里氏替换原则(Liskov-Substituion Principle)

核心思想:子类必须能够替换其基类,但是基类不一定能够替换子类。这一思想是对继承机制的约束,保证继承复用的基础。

里氏替换原则中,子类对父类的方法尽量不要重写和重载。因为父类代表了定义好的结构,通过这个规范的接口与外界交互,子类不应该随便破坏它。

三,依赖倒转原则(Dependence Inversion Principle)

面向接口编程,依赖于抽象而不依赖于具体。写代码时用到具体类时,不与具体类交互,而与具体类的上层接口交互。

四,接口隔离原则(Interface Segregation Principle)

客户端不应该依赖它不需要的接口;一个类对另一个类的依赖应该建立在最小的接口上。

每个接口中不存在子类用不到却必须实现的方法,如果不然,就要将接口拆分。使用多个隔离的接口,比使用单个接口(多个接口方法集合到一个的接口)要好

五,迪米特法则(最少知识原则)

一个对象应该对其他对象保持最少的了解。

类与类之间的关系越密切,耦合度越大,当一个类发生改变时,对另一个类的影响也越大。

如果两个类不必彼此直接通信,那么这两个类就不应当发生直接的相互作用. 如果其中一个类需要调用另一个类的某一个方法的话, 可以通过第三者转发这个调用.

在类的设计上,每一个类都应当尽量降低成员的访问权限。

六,合成复用原则(Composite Reuse Principle)

尽量首先使用合成/聚合的方式,而不是使用继承。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息