1、设计模式原则
一、单一原则编程
1)下降类的复杂度,一个类只负责一项职责 2)提升类的可读性,可维护性 3)下降变动引发的风险 4)一般状况下,咱们应当遵照单一原则,只有逻辑足够简单,才能够在代码级反单一职责;只有类中方法数量足够少,能够在方法级别抱持单一职责原则
二、接口隔离原则设计模式
1)将接口细化,减小没必要要的实现 2)类间的依赖关系应该创建在最小的接口上 3)客户端不该该依赖它不须要的接口
三、依赖倒转原则框架
1)高层模块不该该依赖底层模块,两者都应该依赖其抽象 2)抽象不该该依赖细节,细节应该依赖抽象 3)依赖倒转(倒置)的中心思想是面向接口编程 4)依赖倒转原则是基于这样的设计理念:相对于细节的多边性,抽象的东西要稳定得多。以抽象为基础搭建得框架比以细节为基础得框架要稳定得多。在Java中,抽象指的是接口或抽象类,细节就是具体的实现类。 5)使用接口或抽象类的目的是制定好规范,而不涉及具体的操做,把细节的任务交给他们的实现类去完成。
四、里氏替换原则函数
1)里氏替换原则通俗的来说就是:子类能够扩展父类的功能,但不能改变父类原有的功能。 2)继承实际上让两个类耦合性加强了,在适当的状况下,能够经过聚合、组合、依赖来解决问题。 3)里氏代换原则告诉咱们,在软件中将一个基类对象替换成它的子类对象,程序将不会产生任何错误和异常,反过来则不成立,若是一个软件实体使用的是一个子类对象的话,那么它不必定可以使用基类对象。 4)里氏代换原则是实现开闭原则的重要方式之一,因为使用基类对象的地方均可以使用子类对象,所以在程序中尽可能使用基类类型来对对象进行定义,而在运行时再肯定其子类类型,用子类对象来替换父类对象。
五、开闭原则设计
1)一个软件如类、模块、函数应该对扩展开放,对修改关闭。用抽象构建框架,用实现扩展细节。 2)当软件须要变化时,尽可能经过扩展软件实体的行为来实现变化,而不是经过修改已有的代码来实现变化。 3)编程中遵循其余原则,以及使用设计模式的目的就是遵循开闭原则。
六、迪米特法则code
1)一个对象应该对其余对象保持最少的了解。 2)类与类关系越密切,耦合度越大。迪米特法则的核心是下降之间的耦合。 3)迪米特法则又叫最少知道原则,即一个类对本身依赖的类知道的越少越好。也就是说,对于被依赖的类无论多么复杂,都尽可能将逻辑封装在类的内部。对外除了提供public方法,不对外泄露任何信息。 4)迪米特法则还有更简单的定义:只与直接的朋友通讯。 直接的朋友:每一个对象都会与其余对象有耦合关系,只要两个对象之间有耦合关系,咱们就说这两个对象之间是朋友关系。耦合的方式不少依赖、关联、组合(is a)、聚合(has a)等。其中,咱们称出现成员变量,方法参数,方法返回值中的类为直接朋友,而出如今局部变量中的类不是直接的朋友。也就是说陌生的类最好不要以局部变量的形式出如今类的内部。
核心:松耦合设计对象