设计模式-总体理解
背景:最近项目结束了,相对比较能专注的做些内容知识整理,把设计模式整理到博客中。
1、设计模式的本质是面向对象设计原则的实际运用,是对类的封装性、继承性和多态性以及的关联关系和组合关系的充分理解。
2、正确使用设计模式具有以下优点:
可以提高程序员的思维能力、编程能力和设计能力
使程序设计更加标准化、代码编制更加工程化,使软件开发效率大大提高,从而缩短软件的开发周期
使设计的代码可重用性高、可读性强、可靠性高、灵活性好、可维护性强。
3、设计模式的基本要素
模式名称
问题
解决方案
效果
4、23种设计模式
创建型:如何创建对象。举例说明,比如需要一个商品,可以手工自己生产,也可以找别人购买,也可以找工厂购买
结构型:对象之间的关系,如何将类或者对象结合在一起形成更大的结构。举例说明,国内插座和欧洲插头的电器,想要使用电器,因为插头和插座不标准不一样,需要一个转换器,将这两个标准的插头、插座连接
行为型:对象之间行为的互相影响。举例说明,公众号和订阅者,订阅者关注公众号,公众号作者发布文章,通知订阅者阅读
5、oop七大原则
开闭原则:对扩展开放,对修改关闭
里氏替换原则:继承必须确保超类所拥有的性质在子类中仍然成立
依赖倒置原则:要面向接口编程,不要面向实现编程
单一职责原理:控制类的粒度大小,将对象解耦,提高其内聚性
接口隔离原则:要为各个类建立它们需要的专用接口
迪米特法则:只与你的朋友直接交谈,不跟“陌生人”说话
合成复用原则:尽量先使用组合或者聚合等关联关系来实现,其次才考虑使用继承关系来实现