设计模式,是先辈们在软件系统设计过程中,总结出来的一系列解决问题的思想。
今天看了一些列设计模式原则的帖子,写下自己的一些感悟备忘,陌生人刷到的话,纯属不幸,赶紧划走,见谅见谅。
- 开闭原则
对拓展开放,对修改关闭。软件开发过程中,避免不了版本迭代。每次功能的拓展,尽量不要去改动之前的代码,通过增加子类的方法,去拓展功能。便于代码维护。
- 里式替换原则
所有父类出现的地方,都可以用子类替换,应用程序并不会出错。开闭原则的前提是里式替换原则,为什么呢?只有保证了子类替换父类不报错,才能实现系统功能拓展。
- 依赖倒转原则
我的理解就是面向接口编程,我们应该去依赖抽象,而不是去依赖实现。比如我有一个女朋友(其实没有),她是一个类,类里有一个逛街的方法。这个方法的形参,应该是所有店铺的基类,而不是首饰店、服装店等一些店铺基类的实现类。
- 单一职责原则
设计类,方法,接口等,应该尽量保证实现的功能单一,不交叉。举个反击,A类中有两个不同模块的方法方法B和C,有一天来需求要改动B方法,你不真心把C也改了,OK,你完了。
- 接口隔离原则
设计接口的时候,一个接口只对应一个功能模块。不能把几个功能模块的方法,都揉到一个接口里边。原因跟单一职责原则相似吧。
- 迪米特法则
不要和陌生人说话,跟自己无关的类,了解的越少越好,降低耦合。
- 合成复用原则
复用对象的功能,尽量通过聚合和组合的方法,不要通过继承的方式。因为继承是有代码入侵的,父类的方法属性会入侵子类。