从第一次接触设计模式到现在已经很多年了,但是一开始都是一知半解,每次都是迷迷糊糊的,但是每次由于开发经验的丰富,对设计模式的理解都有更进一步。所以要学习设计模式还是多编程,多看源码,多思考,多问为什么。
设计原则即为软件开发代码架构的设计的行为准则,我们设计出来的代码应该满足设计的原则。好的软件设计是已于维护的,容易扩展、灵活性高、高内聚低耦合。设计模式通常有六(七)大原则:
单一职责原则
接口隔离原则
开闭原则
里氏代换原则
依赖倒置原则
迪米特原则(最少知道原则)
合成复用原则
单一职责
定义: 一个类/接口/方法只负责一项职责或职能
优点:类的复杂度低,可读性性强,易于维护,方便修改,高内聚低耦合(一个类越简单,所依赖就会越少)
接口隔离原则
定义: 建立单一接口,代替庞大臃肿的接口
优点:高内聚低耦合,这也是单一职责的体现
开闭原则
定义:对扩展开放,对修改源码关闭,用接口和抽象构建框架,用实现扩展细节
优点:易于维护,灵活性高,每次修改不会对已有功能或框架造成影响,热插拔替换已有功能
里氏代换原则
定义:子类可以扩展父类的功能,但是不能改变父类原有的功能 。 任何基类可以出现的地方,子类一定可以出现。(继承)
优点:可以让代码易于扩展,实现开闭原则。
依赖倒置原则
定义: 高层模块不应该依赖低层模块,他们都应该依赖其抽象;抽象不应依赖细节,而细节应该依赖抽象; 针对抽象编程,而不应该对实现编程 。(多态)
优点: 易于扩展,实现开闭原则。
迪米特原则 和 合成复用原则
迪米特原则: 就是说一个对象应当对其他对象有尽可能少的了解,不和陌生人说话。 降低耦合个复杂度
合成复用原则: 重复代码尽量用引用而不是继承,因为继承往往导致各种问题。