学习设计模式的作用
设计模式:是对前人代码开发经验的总结,以及解决具体问题的一系列套路。 它不是一个语法规范,而是一套提高代码可重用性、可维护性、可读性、健壮性和安全性的解决方案。
GOF23:四人帮/四人小组发布了 23 种设计模式。
设计模式:本质是面向对象设计原则的实际应用,以及对类封装、继承、多态性以及类关联与组合的充分理解。
优点:提高程序员的思维能力、编程能力、设计能力。
面向对象(OOP)的七个原则
开闭原则:对扩展开放,对修改封闭。
李式替换原则:继承必须保证超类拥有的闲置在子类中仍然成立。 不改变父类原有代码功能(正方形不是长方形)
依赖倒置原则:针对接口编程,而不是针对实现编程。
单一职责原则:控制类的粒度,解耦对象,提高其内聚性。
接口隔离原则:为每个类建立自己需要的专用接口
迪米特定律:只和你最亲密的朋友交谈,永远不要和陌生人交谈。
综合复用的原则:首先尝试使用组合或聚合等关联
工厂模式
实现了创建者和调用者的分离
分类:
简单工厂模式:用于生产任意具有相同层次结构的产品(若要添加新产品,需要覆盖现有代码)
工厂方法模式:用于生产同级别的固定产品(支持添加任意产品)
抽象工厂模式:围绕一个超级工厂创建其他工厂的过程,也称为其他工厂
简单工厂模式、工厂方法模式和抽象工厂模式是三种常见的创建设计模式。 它们都是用来解决对象创建的问题,只是实现方法和使用场景有所不同。
简单工厂模式( ):
工厂方法模式( ):
抽象工厂模式( ):
总结:
工厂模式的核心本质:
实例化对象不需要new,使用工厂方法代替
选择实现类,创建对象,进行统一管控。 从而将调用者与我们的实现类解耦。