学习笔记 | 设计模式七大原则

2018-11-20  本文已影响0人  发光吧

单一职责原则(Single Responsibility Principle)

不要存在多于一个导致类变更的原因。通俗的说,即一个类只负责一项职责。

里氏替换原则(Liskov Substitution Principle)

里氏替换原则简单易懂一点的定义就是只要父类出现的地方子类就可以出现,且替换成子类也不会出现任何错误或者异常。(但是反过来,有子类出现的地方,父类不一定可以适用)
四个规范:
① 子类必须完全实现父类的方法
② 子类可以有自己的个性
③覆盖或者实现父类的方法时输入参数可以被放大
④复写或实现父类的方法时返回值可以缩小

依赖倒置原则(Dependence Inversion Principle)

精简的定义就是面向接口编程
在Java语言中的表现就是为以下的三点:
① 模块间的依赖关系通过接口和抽象类产生,实体类之间不直接发生依赖关系。
②接口和抽象类不依赖于实现类
③实现类依赖接口或者抽象类
对象的依赖关系有三种实现方式
①构造函数传递依赖对象
②Setter传递依赖对象
③接口声明依赖对象,也叫接口注入

接口隔离原则(Interface Segregation Principle)

建立单一接口,不要建立臃肿庞大的接口。即接口尽量细化,同时接口中的方法尽量少

迪米特法则(Law of Demeter)

迪米特法则也叫做最少知识原则(Least Knowledge Principle,LKP),即一个对象应该对其他对象有最少的了解,也就是说一个类要对自己需要耦合或者调用的类知道的最少。我只知道你有多少public方法可以供我调用,而其他的一切都与我无关。
迪米特法则的核心观念就是类间解耦

开闭原则(Open Closed Principle)

开闭原则是Java里最基础的设计原则。具体的定义是:一个软件实体,比如类,模块,函数应该对扩展开放,对修改关闭。说的通熟易懂一些就是一个软件实体应该通过扩展来实现变化,而不是通过修改已有的代码来实现改变。

合成复用原则(Composite Reuse Principle)

原则是尽量使用合成/聚合的方式,而不是使用继承。继承实际上破坏了类的封装性,超类的方法可能会被子类修改。

上一篇下一篇

猜你喜欢

热点阅读