【设计模式】(一、设计模式之常用七大原则介绍)

都说学程序一定要懂得设计模式,因为他能够帮助我们写出高扩展性的代码,能够解决各种重复性出现的问题。

设计模式出现的目的:
我们开发者在编写软件的过程中,面临来自耦合性、内聚性以及可维护性、可扩展性、重用性、灵活性等多方面的挑战,设计模式的出现,就是为了让程序具有更好的代码重用性、可读性、可扩展性、可靠性、使程序具有高内聚,低耦合的特性。

今天先来介绍一下设计模式的常用七大原则:

  1. 单一职责原则
  2. 接口隔离原则
  3. 依赖倒置原则
  4. 里氏替换原则
  5. 开闭原则
  6. 迪米特法则
  7. 合成复用原则
1、单一职责原则

1、降低类的复杂度,一个类只负责一个职责
2、提高类的可读性,可维护性
3、降低变更引起的风险
4、通常情况下,我们应当遵守单一职责原则,只有逻辑足够简单,才可以在代码级违反单一职责原则。只有类中的方法数量足够少,可以在方法级别保持单一职责原则。

2、接口隔离原则

客户端不应该依赖他不需要的接口,即一个类对一个类的依赖应该建立在最小接口上。使其实现类不必实现无需的方法,这种情况下,应该将接口进行拆分,然后多实现。

3、依赖倒置原则
  1. 高层模块不应该依赖低层模块,二者都应该依赖其抽象。
  2. 抽象不应该依赖细节,细节应该依赖抽象。
  3. 依赖倒置的中心思想就是面向接口编程。
  4. 依赖倒置原则是基于这样的设计理念的:相当于细节的多边性,抽象的东西要稳定得多。以抽象为基础搭建的架构比以细节搭建的架构要稳定得多。在java中,抽象指的是接口或者抽象类,细节就是具体的实现类
  5. 使用接口或者抽象类的目的是为了制定好规范,而不涉及具体的操作,把展现细节的任务交个实现类去完成。

依赖关系的三种传递方式:
1、接口的方法参数传递
2、构造方法参数传递
3、setter方法参数传递

4、里氏替换原则

引用基类的地方必须能够透明的使用子类。
使用继承时,要遵守里氏替换原则,在子类尽量不要重写父的方法。
里氏替换原则告诉我们,继承实际上使得两个类的耦合度增强了,在适当情况下,可以通过聚合,组合,依赖来解决问题。

5、开闭原则

对扩展开放,对修改关闭。
当需求发生变化,应该通过扩展来实现,而不是修改原有的。

6、迪米特法则

要求一个对象应该对其他对象有最少的了解,所以迪米特法则又叫做最少知识原则。

7、合成复用原则

要尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现

设计模式的类型

  1. 创建性模式:单例模式,抽象工厂模式,原型模式,建造者模式,工厂模式
  2. 结构型模式:适配器模式,桥接模式,装饰模式,组合模式,外观模式,享元模式,代理模式
  3. 行为型模式:模板方法模式,命令模式,访问者模式,迭代器模式,观察者模式,中介者模式,备忘录模式,解释器模式,状态模式,策略模式,责任链模式。

猜你喜欢

转载自blog.csdn.net/qq_42154259/article/details/107169415