设计模式——0

设计模式包含了面向对象的精髓,“懂了设计模式,你就懂了面向对象分析和设计的精要”。

七大原则:

  • 单一职责原则

对类来说的,即一个类应该只负责一项职责。

  • 接口隔离原则

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

  • 依赖倒置原则

高层模块不应该依赖低层模块,二者都应该依赖其抽象。

低层模块尽量都要有抽象类或接口,或者两者都有,程序稳定性更好。

抽象不应该依赖细节,细节应该依赖抽象。

依赖倒置的中心思想是面向接口编程。

继承时遵循里氏替换原则。

依赖关系传递的三种方式:

  • 接口传递
  • 构造方法传递
  • setter 方法传递
  • 里氏替换原则

使用继承会给程序带来侵入性,程序的可移植性降低,增加对象之间的耦合性。

在使用继承时,子类中尽量不要重写父类的方法。

通用做法:原来的父类和子类都继承一个更通俗的基类,原有的继承关系去掉,采用依赖、聚合、组合等关系代替。

  • 开闭原则

一个软件实体如类,模块和函数应该对扩展开放(对提供方),对修改关闭(对使用方)。用抽象构建框架,用实现扩展细节。

开闭原则

  • 迪米特法则(最少知道原则)

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

只与直接的朋友通信。

直接的朋友:出现在成员变量、方法参数、方法返回值中的类为直接的朋友,而出现在局部变量中的类不是直接的朋友。也就是说,陌生的类最好不要以局部变量的形式出现在内部。

  • 合成复用原则

尽量使用合成、聚合的方式,而不是使用继承。

设计原则核心思想

  • 找出应用中可能需要变化之处,把它们独立出来,不要和那些不需要变化的代码混在一起。
  • 针对接口编程,而不是针对实现编程。
  • 为了交互对象之间的松耦合设计而努力。

设计模式分为三种类型:

  • 创建型模式:单例模式、工厂模式、抽象工厂模式、原型模式、建造者模式
  • 结构性模式:适配器模式、桥接模式、装饰者模式、组合模式、外观模式、享元模式、代理模式
  • 行为型模式:模板方法模式、命令模式、访问者模式、迭代器模式、观察者模式、中介者模式、备忘录模式、解释器模式、状态模式、策略模式、责任链模式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章