设计模式简单理解
初识
最早了解设计模式是在大学计算机课上,老师将23个设计模式分任务给每个人自己学习,然后在课堂上给其他同学讲解。我被分到了工厂模式,当时感觉讲的是一团槽,后来自己买了一本《深入浅出设计模式》,看了之后总算有了比较具体的概念。
《设计模式——可复用面向对象软件的基础》这本是最经典的教材,但是理解起来比较困难
《深入浅出设计模式》这本语言比较浅显,也有很多代码实例帮助理解,是入门的不错选择
定义
什么是设计模式,是项目开发过程中遇到的一些设计问题,总结出来的比较通用的解决方案。
一般好的代码有这些特征:可维护、可扩展、可读、可测、可复用、简洁。
基于这些要求就有了一些基本设计原则:
单一职责原则
一个类只负责完成一个职责或者功能。
实际上我们可以写一个粗粒度的类满足业务需求。随着业务越来越庞大,代码越来越多,这时就可以把粗粒度的类进行拆分。
开闭原则
对扩展开放,对修改关闭。
开闭原则有一个简单的判断标准,当功能没有变化时,对应的单元测试没被破坏,就是一次满足开闭原则的改动。
里氏替换原则
子类能够在任何地方替换父类,并且保证原来程序的逻辑行为不变及正确性不被破坏。
实现类不能违反接口声明要提供的功能、输入、输出、异常等。
迪米特法则
高内聚,低耦合。又称为最小知识原则。
DRY原则(Don't Repeat Yourself)
不要写两个功能一样的方法。
接口隔离原则
接口的功能要尽量单一。
总结
有些时候这些原则不一定能全部满足,还是要根据实际项目情况进行调整。
经典的设计模式有23种,归为3中类型,下次再一一列举。