设计模式之工厂模式的处理和应用

Hello,大家好,本周我又学习了工厂模式的架构,现在我来进行分享一下。

  一、简单工厂模式的复习

  二、工厂模式比简单工厂模式的优越性

  三、工厂模式的架构

  四、工厂模式的总结

一、简单工厂模式的复习

  首先我们来复习一下简单工厂模式。我们知道简单工厂模式就是说在类中创建各个类。比如说我们写一个计算器,传给类中某个字符串,通过字符串来实例化相关的对象。

以上图为例,我们可以通过传入某一个字符串,比如lenovo,hp等等来实例化相关的对象,从而进入到我们想要的类中。

二、工厂模式比简单工厂模式的优越性

  但是这样有一个问题,那就是如果我们要添加一个功能(比如说我们加一个Dell电脑),那么我们就必须要修改类中的代码,但是这样做就影响了设计模式中的开闭原则。这样是不好的。所以我们需要重新调整我们的架构。而工厂模式恰恰就可以解决这个问题。

三、工厂模式是什么

  好,搞清楚了这个问题我们就来说一下工厂模式。那么回到我们上一个问题,根据开闭原则,我们每加一个功能就需要添加一个类,那么我们就应该把上述分支代码拆分成四个类。以上面的例子来说,就是创建lenovo一个类,创建hp一个类,创建asus一个类,这样我们就能分开了。然后通过每个创建类来控制相应的实例化类,这样就方便的多了。其架构如下。

 如图,ConcreteCreator就是我们所说的控制类,用它来控制返回一个ConcreteProduct类即可。

四、工厂模式总结

  总结一下,工厂模式比简单工厂模式来说,架构要更清晰,更明确,但是缺点就是添加代码量要稍多,前者只需要添加实际类和多加一个case,而后者却需要添加实际类和控制类,这是比较复杂的。

原文地址:https://www.cnblogs.com/songyuchen/p/12812656.html