利用闲时间整理一下设计模式,目标设定最迟两个月(2019年11月30日)完成吧,目前大计划还没有^-^。
本周先入个门。
原则:
1.开放封闭原则
对扩展开放,对修改封闭。当有新功能时,在原有基础上对代码进行扩展,而不是修改原有代码,保证软件的稳定性。尤其是抽象的类和接口是不允许修改的,因此在设计之初就要考虑好如何去抽象。
2.里氏代换原则
子类对象可以代替任何基类对象出现的地方,反之则不一定。因此,在程序中尽量使用基类类型来对对象进行定义,而在运行时再确定其子类类型,用子类对象来替换父类对象。
3.依赖倒转原则
类似于开闭原则的手段,核心内容:针对接口编程,高层模块不应该依赖底层模块,二者都应该依赖抽象而不依赖于具体。依赖指一个类的函数中使用另一个类的对象作为参数称为依赖,倒置的意思应该是指,我要弹yamaha吉他,我应该依赖yamaha吉他,但在程序中不应该依赖于具体的某个品牌吉他,而是依赖于吉他这个抽象的东西,即参数使用基类。
4.接口隔离原则
接口功能单一,不要集合太多功能,使用不灵活
5.单一职责原则
类约单一,越容易被继承和复用,功能太多的类被复用的可能性小的很。
6.最少知道原则
类之间尽量独立,并降低相关度,不然改动时会牵一发动全身
7.合成复用原则
尽量使用包含或聚合的关系,少使用继承(继承破坏了封装性,且子类与父类的相关度较高)。