设计模式 六大设计原则

一、Single Responsibility Principle(简称SRP):单一职责原则

简单理解:

       一个接口只做一件事,即一个职责一个接口。但是困难的是划分职责时并没有一个标准,最终都是需要从实际的项目去考虑。我们在设计的时候,尽量单一,然后对于其实现类就要多方面的考虑。不能死套单一职责原则,否则会增加很多类,给维护带来不便。

 

二、Liskov Substitution Principle(简称LSP):里氏替换原则

简单理解:

        只要父类出现的地方子类就可以出现,且替换成子类也不会出现任何错误或者异常。(但是反过来,有子类出现的地方,父类不一定可以适用)。

 

三、Dependence Inversion Principle(简称DIP):依赖倒置原则

简单理解:

       精简的定义就是面向接口编程,抽象不应该依赖于细节,细节应当依赖于抽象。换言之,要针对接口编程,而不是针对实现编程。

 

四、Interface Segregation Principle(简称ISP):接口隔离原则

简单理解:

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

 

五、Law of Demeter: 迪米特法则 即 Least Knowledge Principle(简称LKP) 最少知识原则

简单理解:

       一个对象应该对其他对象有最少的了解,也就是说一个类要对自己需要耦合或者调用的类知道的最少。迪米特法则的核心观念就是类间解耦,最终可能产生的结果就是会产生了大量的中转类。为了把解耦做到极致导致实现一个业务逻辑的实现跳转了很多类,这也是不可取的做法。因此根据实际权衡利弊才是重要的。

 

六、Open Closed Principle(简称OCP): 开闭原则

简单理解:

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

 

你可能感兴趣的:(设计模式)