目录
1.设计模式的六大原则
开放-封闭原则
一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。目的就是保证程序的扩展性好,易于维护和升级。对于扩展是开放的,对于更改是封闭的。
开放-封闭原则是面向对象设计的核心所在, 开闭原则是Coding中最基础的设计原则。
开闭原则被称为面向对象设计的基石,实际上,其他原则都可以看作是实现开闭原则的工具和手段。意思就是:软件对扩展应该是开放的,对修改是封闭的,通俗来说就是,开发一个软件时,应该对其进行功能扩展,而在进行这些扩展时,不需要对原来的程序进行修改。
个人理解:对于可能会发生的更改进行封装,减少修改,就能减少因为修改带来的问题和风险
单一职责原则
对一个类而言,应该仅有一个引起它变化的原因。 如果存在多于一个动机去改变一个类,那么这个类就具有多于一个的职责,就应该把多余的职责分离出去,再去创建一些类来完成每一个职责。
个人理解:实际开发过程中改动是必然的,该原则的目的是让类的改动影响面最小,只影响到自己单一的那块职责
里氏替换原则
子类可以扩展父类的功能,但是不能改变父类原有的功能。
子类可以实现父类的抽象方法,但不能覆盖父类的非抽象方法。
个人理解:作为子类不能改变父类的代码,就像上级和下级一样,下级不能改变了上级的做法和既定计划
依赖倒置原则
该原则指的是类与类之间的调用规则。这里的依赖就是代码中的耦合。高层模块不应该依赖底层模块,二者都应该依赖其抽象了;抽象不依赖细节;细节应该依赖抽象、接口编程。
接口隔离原则
该原则用于恰当的划分角色和接口,具有两种含义:1、用户不应该依赖它不需要的接口;2、类间的依赖关系应该建立在最小的的接口上。
迪米特原则
一个对象应该对其他对象有最少的了解。通俗来说就是,一个类对自己需要耦合或者调用的类知道的最少,你类内部怎么复杂,我不管,那是你的事,我只知道你有那么多公用的方法,我能调用。
迪米特原则核心观念就是:类间解耦,弱耦合。