标签:23 class 笔记 工厂 Phone 具体 产品 设计模式 public
什么是工厂模式?
工厂顾名思义就是创建产品,根据产品是具体产品还是具体工厂可分为简单工厂模式和工厂方法模式,根据工厂的抽象程度可分为工厂方法模式和抽象工厂模式。该模式用于封装和管理对象的创建,是一种创建型模式。本文从一个具体的例子逐步深入分析,来体会三种工厂模式的应用场景和利弊。
1、简单工厂模式
什么是简单工厂模式?
简单工厂也叫做静态工厂,在程序编译成字节码文件前就已经确立了工厂类对一些对象的封装关系,只需要根据参数来获取工厂对象来获取对应的目标对象。
优点:
- 客户端创建对象时只需要记住特定的参数,而不需要记住复杂的类名,也不用关注实现的过程。(实现了封装和部分解耦)
- 创建对象不需要单独实例化,而是通过工厂类直接获取示例(实现复用)
缺点:
- 实例化对象的逻辑全部封装在一个工厂类里,每次需求变化都要单独修改工厂类(违反了开闭原则)。
- 不方便扩展子类
应用场景:
适合应用于业务简单产品较少且一旦创建完成不会再发生修改的情况
简单工厂逻辑结构图:
AbstractProduct: 抽象工厂就是把Product所有共性的方法抽取出来成为一个抽象类。
Product: 就是具体的产品类,拿手机来举例的话,那么ProductA好比就是苹果手机,ProductB就好比小米手机。
Factory: 就是对应Product的代工厂对象,工厂类,根据上面的举例对象来说,那么此时Factory就好比如富士康工厂,加工各种品牌的手机,可通过选择来选取加工不同品牌的手机。
具体实现:
接口Phone
标签:23,class,笔记,工厂,Phone,具体,产品,设计模式,public 来源: https://blog.csdn.net/weixin_43555489/article/details/123179439
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。