大纲:
关于工厂模式:设计到了两个要素,工厂生产产品,工厂与产品的联系
工厂模式三兄弟演化关系
1.简单工厂模式
2.工厂模式
3.抽象工厂模式
简单工厂模式:在刚开始学习java时,程序设计原则:高内聚,低耦合,可扩展
实际开发中:对象的创建与使用分离----->Spring进行了实现,最后由于互联网不断发展,传统的SSM架构,开发人员需要不断的书写配置文件,导致代码的可阅读性变差,开发人员任务繁重,最后产生的SpringBoot,进行自动装配。
对象的生产---->需要相应的工厂
获取一个对象的实例:new创建对象实例化,get别人(第三方库)的对象获取实例。
创建对象不仅仅是new一下,如果是第三方的,需要连接配置,各种复杂的一堆方法,new出一个对象,或者get一个对象,你不同的工厂创建不同的产品,在调用不同的第三方库时,它会将一个产品细节化处理。
何时使用工厂模式:
经典例子:产品(手机)--->小米手机,华为手机,苹果手机
公有功能:播放音乐,拍照
私有功能:小米私有功能,华为私有功能,苹果私有功能
映射到项目: 父类接口 ---->子类实现
父类共有方法
子类私有方法
所以:当一个类复杂的类需要解耦,并且能够抽象类比出工厂与产品时就可以使用工厂模式进行解耦,设计模式的命名规则就是使用场景(很有用的废话)
一但一个类包含很多子类,并且子类实现,就涉及到
一个产品多种类型,不同类型又有不同厂家去生产
前提:我输入参数A,给我A产品;输入B给我B产品
思考:我就将所有的类和功能,还有对象的创建,实例化,提供返回类的方法,不同类的属性什么一大堆乱七八糟的都放到一个类里面怎么了。可能过几天自己都不知道自己写了个啥,一个类几千行代码,所以设计模式的核心是提供了一套所有程序员可阅读代码的规范。