设计模式前序

............................................................设计模式.................................................

1.设计模式出现的reason:

目前软件开发存在的问题是:随着用户的需求不断发生变化,对软件开发工作人员的要求也就越来越高。要想尽量的满足用户需求的变化,需要依靠程序设计,让程序设计变得更加灵活。

于是程序设计人员总结出了一些面向对象的设计原则

分别为:

1.单一职责原则(SRP)

  :系统中的每个对象都应该只有一个单独的职责,所有对象关注的就是自身职责的完成。

   每个类都应该只有一个职责,对外只能提供一种功能。

从而避免这个类庞大无比,难于维护。

2.开闭原则(OCP)

 :一个对象对扩展开放,对修改关闭。也就是说对类的改动是通过增加代码进行的,而不是改动现有的代码。

如果开发人员写出了可以运行的代码,就不应该去改变它,而是要保证它能一直运行下去。

通常为了满足用户的新需求,需要修改或扩充原来的代码,这样造成的后果就是如果这个类中有一个功能需要修改,就有可能引起其他功能的变动,从而产生不可预知的后果。

3.依赖注入原则(DIP)

 :如果一个类需要调用其他的类,就应该调用该类的接口或抽象类,而不是直接调用该类的实现类。

即要依赖于抽象,不要依赖于具体的实现。也就是针对接口编程,而不是针对实现编程。

4.里氏替换原则(LSP)

 :在任何抽象类实现的地方都可以用它的实现类来代替,利用此原则更好的可以使用继承。

5.迪米特原则(LOD)

 :一个对象应当对其他对象尽可能少的了解,从而能够降低各个对象之间的耦合,提高系统的可维护性。

 通常各个模块之间相互调用时,都会提供一个统一的接口来实现,这样当一个模块内部功能发生改变时,不会影响其他模块的使用。

6.接口分离原则(ISP)

 :一个接口只提供一种对外功能,不应该把所有的操作都封装到一个接口当中。

7.优先使用组合而不是继承原则(CARP)

 :优先使用组合,而不是继承。

对于继承而言,父类的任何改变都可能影响子类的行为。因此使用组合,可以降低这种依赖关系。


综上所述:这些设计原则的核心思想就是尽量降低代码之间的依赖,从而能够灵活多变,适应用户需求的不断变化。即“高内聚,低耦合”的具体实现。

上述设计规则都是指理论,并不够具体。下面23种设计模式就是对以上设计原则的具体实现。


23种设计模式分为三种

一:创建型模式

  • 单例模式(Singleton)
  • 简单工厂模式(Simple Factory)
  • 工厂方法模式(Factory Method)
  • 抽象工厂模式(Abstract Factory)
  • 原型模式(Prototype)
  • 创建者模式(Builder)

二:结构型模式

  • 适配器模式(Adapter)
  • 门面模式(Facade)
  • 代理模式(Proxy)
  • 合成模式(Composite)
  • 享元模式(Flyweight)
  • 装饰模式(Decorator)
  • 桥模式(Bridge)

三:行为型模式

  • 策略模式(Strategy)
  • 迭代器模式(Iterator)
  • 模板方法模式(Template Method)
  • 中介者模式(Mediator)
  • 访问者模式(Visitor)
  • 职责链模式(Chain of Responsibility)
  • 状态模式(State)
  • 解释器模式(Interpreter)
  • 观察者模式(Observer)
  • 命令模式(Command)
  • 备忘录模式(Mem)


















你可能感兴趣的:(设计原则,23种设计模式,设计模式)