设计模式

作者 Claymore 日期 2016-05-25
设计模式

写在前面

用面向对象的思维去思考问题,使得代码容易维护,扩展,复用。
可以将面向对象中,类理解为古代印刷字体的模子,对象理解成复刻出的字。没改进时,一句话一个模子,改进后的活字印刷就是一个字一个模子,容易维护,扩展,复用,这样是不是清晰很多了呢?

耦合性:是也叫耦合度,是对模块间关联程度的度量。
我们通过程序的封装、继承、多态把程序的耦合性降低。这样在修改需求时,修改相关类就可以,而不是修改整个文件。

几个说明:

  • 尽可能解决重复代码。
  • swich的性能比if好,但是他不能判断条件,只是值相等。
  • 仅对程序中呈现出频繁变化的那部分做出抽象,对于程序中每个部分可以做出抽象不好,拒绝不成熟的抽象和抽象本身一样重要。

原则

1.单一职责原则

就一个类而言,应该仅有一个能引起它变化的原因。

2.开放-封闭原则

类、模块、函数等应该可以扩展,而不能修改。就是多扩展,比如一国两制方针,社会主义制度不变,港澳就是扩展。

3.里氏替换原则(LSP)

  • 子类必须能够替换掉它的父类。
  • 只有当子类可以替换掉父类,软件单位的功能不受影响时,父类才能真正的被复用,而子类也能够在父类的基础上添加新的行为。
  • 由于这样的原则,才使得开放-封闭原则成为了可能,使得父类类型的模块在无需修改的情况下就可以扩展。

    4.依赖倒转原则

    针对接口编程,比如主板上的内存条,cpu,都是对接口进行高内聚的。

模式

1.简单工厂模式

一个单独的类来创造各种实例,这就是工厂。如计算器的加减乘除。

2.策略模式

它定义了算法家族,就是算法分别封装起来,让它们之间可以相互替换,算法的变化不会影响到用算法的客户。如商场的打折算法。

3.后续


4.