【设计模式】-简单工厂模式

一、介绍
简单工厂模式我们可以理解为负责生产对象的一个类,我们平常编程中,当时用"new"关键字创建一个对象时,此时该类就依赖与这个对象,也就是他们之间的耦合度高,当需求变化时,我们就不得不去修改此类的源码,此时我们可以运用面向对象(OO)的很重要的原则去解决这一问题,该原则就是——封装改变,既然要封装改变,自然也就要找到改变的代码,然后把改变的代码用类来封装,这样的一种思路也就是我们简单工厂模式的实现方式了。

二、优点与缺点

优点:
1.简单工厂模式解决了客户端直接依赖于具体对象的问题,客户端可以消除直接创建对象的责任,而仅仅是消费产品。简单工厂模式实现了对责任的分割
2.简单工厂模式起到了代码复用的作用,比方说一个公共厕所,如果没有建这个公共厕所,那么每一个人都需要建立一个去上厕所的地方,但是有了公共厕所之后,大家都可以利用这个厕所了。

缺点:
1.工厂类集中了所有产品的创建逻辑,一旦不能正常工作,整个系统都会受到影响(通俗地意思的,没有了公共厕所,每个人都会受到影响)
2.系统扩展困难,一旦添加新产品就不得不修改工厂逻辑,这样就会造成工厂逻辑过于复杂。

三、应用场景
1.当工厂类负责创建的对象比较少时可以考虑使用简单工厂模式();
2.客户如果只知道传入工厂类的参数,对于如何穿件对象的逻辑不关心时,可以考虑使用简单工厂模式

四、讨论

(1)代码的毛病
命名要规范,结构的时候要写清楚,考虑问题要全面。
(2)复制和复用:
复制Ctrl+C/Ctrl+V
复用:相当于继承,引用。
(3)业务的封装
把逻辑进行分开,让他们之间的耦合度下降。
(4)紧耦合和松耦合
事物之间的联系。联系的紧密叫紧耦合,联系的不紧密叫松耦合。
(5)简单工厂模式
简单工厂模式又叫静态方法模式(因为工厂类都定义了一个静态方法),由一个工厂类根据传入的参数决定创建出哪一种产品类的实例(通俗表达:通过客户下的订单来负责烧那种菜)。
**(6)字段、属性

(7)讨论了代码的实现方式:

在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/MyxZxd/article/details/85376190