使用简单工厂模式的优点是什么呢 使用简单工厂模式的优点是什么意思

使用简单工厂模式的优点是什么?

个人理解:

简单工厂模式就是通过调用静态方法来返回(得到)对象的一种思路,这样在需要创建多个对象时,避免了需要先多次创建工厂对象,缺点是某种程度上违反了开放——封闭原则,因为每当需要增加新的对象类型时,就要修改已有的静态工厂类。简单工厂模式(包括别的工厂模式)更侧重于 “得到对象”,一般设计的时候这个对象应该是现实世界中某种事物的映射,有它自己的属性与方法,。

而策略模式更偏重于算法实现,按《大话设计模式》中的说法,策略模式更多地使用接口(Interface)而不是父类来实现,(当然这并不是绝对的,对于静态工厂模式中得到的对象的抽象也可以用接口,策略模式也可以用基类。),而接口更侧重于对于行为的抽象而不是对于对象的抽象。策略模式往往侧重于实现方便地替换不同的算法类,而这些类是通过方法来实现某些业务功能的,自身很可能没有属于自己的属性。

另外,《大话设计模式》这本书的作者

@程杰

也在知乎,能邀请到他本人回答那是再好不过的了。延伸阅读

现代液晶仪表怎么进入工厂模式?

现代液晶仪表进入工厂模式方法如下:

1.

三星显示器:工厂模式进入办法是,首先要将“对比度”和“亮度”调到0,然后按下 “MENU”按键调出主菜单,这时按住“SOURCE”键不放,直到工厂模式菜单弹出为止。

2.

AOC 显示器进入工厂模式比较复杂,首先需要按住显示器 MENU 按钮,拔掉显示器后面的 电源线,再插上。进入显示器 MENU 菜单,会发现菜单会移到左上角(普通模式是在正中) , 并且菜单会多一个“F”的功能选项,进入 F 项即可以看见工厂模式。

3.

明基显示器的工厂模式也比较容易进入,只要在关机时按住 MENU 键不放同时开机,再按 MENU 键即可进入。

4.

飞利浦显示器工程模式也比较简单, 只要在关闭液晶的情况下, 同时按住 “AUTO” 和“MENU” 键,开启液晶选择“MENU” ,选择最下面可以进入工厂模式。

什么是工厂模式三层结构?

工厂模式包含简单工厂,抽象工厂和工厂模式三类,工厂模式提供创建对象的接口,是属于创建型的模式三层结构一般指表示层(UI),业务逻辑层(BLL),数据访问层(DAL),降低各层之间的耦合,使项目结构更清楚,分工更明确,有利于后期的维护和升级

工厂模式创建的对象和new创建的对象有什么区别?

设计模式的一个重要原则就是:别改代码,只需要添代码,以前所有的老代码,都是有价值的,需要尽力保留new一个对象时,new的过程是宝贵的如何创建老对象的知识点(有的new很复杂,包括了很多参数),如果这个代码被修改了,那么保留的老对象也不知道怎么使用了,整个体系残缺了所以要想办法保留老对象的new过程,把这个new过程保存分布到一系列工厂类里,就是所谓的工厂模式,一般有三种方式来封装简单工厂:把对象的创建放到一个工厂类中,通过参数来创建不同的对象。

这个缺点是每添一个对象,就需要对简单工厂进行修改(尽管不是删代码,仅仅是添一个switch case,但仍然违背了“不改代码”的原则)

工厂方法:每种产品由一种工厂来创建,一个工厂保存一个new基本完美,完全遵循 “不改代码”的原则抽象工厂:仅仅是工厂方法的复杂化,保存了多个new大工程才用的上

python 工厂模式 优点?

简单工厂模式优缺点:客户端与产品的创建分离,客户端不需要知道产品创建的逻辑,只需要消费该产品即可。

工厂方法模式优点:更符合开闭原则,增加一个产品类,则只需要实现其他具体的产品类和具体的工厂类即可;符合单一职责原则,每个工厂只负责生产对应的产品。

简单工厂模式,工厂方法模式和抽象工厂模式的异同?

工厂方法模式:一个抽象产品类,可以派生出多个具体产品类。一个抽象工厂类,可以派生出多个具体工厂类。每个具体工厂类只能创建一个具体产品类的实例。

抽象工厂模式:多个抽象产品类,每个抽象产品类可以派生出多个具体产品类。

一个抽象工厂类,可以派生出多个具体工厂类。每个具体工厂类可以创建多个具体产品类的实例。区别:工厂方法模式只有一个抽象产品类,而抽象工厂模式有多个。工厂方法模式的具体工厂类只能创建一个具体产品类的实例,而抽象工厂模式可以创建多个。


为您推荐