设计模式3大分类6大设计原则

  • 偶回头,我的年龄已经不小了。回想起写代码的八九年日子,很茫然。似乎我什么都没写,还是一无所知;又似写过很多功能很多系统,掌握了写软件的基本功。此刻温故,写下一些文字。留待来日我苍老的时候,翻阅回忆。这些文字也好成为我回忆的一个载体,让我忆起我曾经在这无止境的时间中留下的痕迹。
  • 我们常见的分类方式将设计模式分为了3类即创建型、结构型、行为型。回想初次接触设计模式的时候,傻傻分不清总有一些模型容易混淆。比如常用的Proxy代理模式,常常就让我分不清他属于结构型还是行为型。每逢考试死记硬背,过些时间也没人考我,我又忘记了。生命就是个不断记忆又不断遗忘的过程啊!
  • 此文中我用自己的语言,并非官方定义记录了3大分类6大设计原则。


    image.png

3大分类

各类定义给出的比较长,我以自己的理解进行了简单的总结。此时的分类也限于语义上的分类。站在不同的角度,能做出不同的拆分。倒是不用纠结于此,能用好这些个设计模式,还是不容易。

创建型:产生对象的模式

比如singleton产生一个对象,factory产生一些列对象

结构型: 改变结构的模式

改变了原来的结构,形成了更方便使用的结构。比如adapter,proxy。改变下原来的结构为了更好的服务项目。

行为型:改变行为的模式

一系列行为的操作。不同于结构型,不致力于利用多态修改原本的结构。比如chain of responsibility是一串行为。

6大设计原则

多态对于设计模型有着奠基石的作用。设计模式多基于多态实现。在设计原则上也离不开多态。更离不开总的原则:高内聚低耦合。

开闭原则(Open Close Principle)

对扩展开放,对修改关闭。

里氏代换原则(Liskov Substitution Principle)

使用父类的地方,也都能用子类。

依赖倒置原则(Dependence Inversion Principle)

面向接口编程,不要直连。

接口隔离原则(Interface Segregation Principle)

不要弄一个类,写很多不同作用的接口。

迪米特法则(最少知道原则)(Demeter Principle)

暴露最少的信息,够用就好

单一职责原则(Single-Responsibility-Principle)

仅负责一个职责

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

友情链接更多精彩内容