前言:编程多年,但是对于设计模式一直没有系统地学习过,以及潜意识里觉得设计模式很难,相关书籍也早买了,只翻了几页,没有坚持看完。前几天开始重新翻下《大话设计模式》这本入门书,觉得要有所提高的话,必须不断地突破舒适区,不断探索前行才行。看了下文章中的例子,是C#写的,但是我没学过,虽然基本也能看懂,但是感觉闭上书又忘记了。结合起我最近学的java spring编程,于是乎决定用java web的方式,来重写书中的例子,从而加强理解记忆。
本节介绍简单工厂模式,结合书中例子,演变出现简单工厂模式的原因,是因为如果按照我们正常的逻辑思维,想要多加/修改一种运算方法,就需要重新 new 一个对象类,然后进行处理,如果没有一个公共类来初始化,那么所有的业务逻辑,都放到了对应的 MVC 的Controller里面,改动一处代码,都有可能误改到其他不必要动的逻辑,不能实现解耦合作用。
因此,出现了简单工厂模式,用一个SimpleFactory来生产出所需的具体运算类,各业务逻辑只需要继承抽象运算类基类,自己来实现抽象业务方法,从而达到要修改某种运算规则的时候,只需要在当前的运算类文件里修改即可,其他文件可以不用动,相关的UML图如下:
Talk is cheap.Show me the code. 模仿书中例子,用Spring和html弄了一个简单的加减乘除,相关github代码链接如下:
https://github.com/jjzhoujun/DesignPattern/tree/master/SimpleFactory
原创文章,欢迎转载,转载请注明:https://ifish.site/designpattern_simplefactory.html
作者:JaydenZhou
参考链接:
https://blog.csdn.net/jclian91/article/details/80070227
https://blog.csdn.net/qq_24473141/article/details/51136742
https://github.com/iluwatar/java-design-patterns?utm_source=gold_browser_extension