【设计模式】简单工厂

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/as15932641664/article/details/81874741

  小菜的日常

   小菜去面试后做了一个计算器的小程序,如下图所示:

      如果我们没有学过设计模式,那么上面代码乍一看没有毛病 ,逻辑思路很清晰。但是加入设计模式后,我想大家都能说出有哪些问题:

1.违背了开放-封闭原则

   上面有加减乘除4种运算,如果客户要求再加一个平方根的话,就必须要在该分支下加一个平方根的算法,这样的话就相当于修改了这个类,违背了开放-封闭原则。开放-封闭原则的基本思想是只扩展,不修改。

2.不可复用

   我们在敲代码过程中要尽可能的降低耦合,做好可复用性,也就是可以重复使用。如图的代码中有4种运算方法,如果有些客户只想要加减的算法,我们要想重复使用上面的代码显然是不可能的,因为它们都在一个类中,不可拆分

3.维护性差

   上面代码中只是有4种运算,如果我再给你加上1000种呢?后期的维护工作大家可想而知!!!


  于是乎,小菜对代码进行了优化,大家请看:

       小菜将4种运算封装在一个类中,其余的作为客户端代码,可是依然解决不了上面所说的问题,只要对其进行添加删除操作,就是对整个类进行了修改,违背了开放-封闭原则


  最终解决方案----简单工厂(局部截图)

      在大鸟的帮助下,小菜将4种运算各自建立一个单独的类,这样的话不管谁要添加删除都不会对其他类造成影响

      在创建一个简单工厂对它们进行实例化就ok了!!!

猜你喜欢

转载自blog.csdn.net/as15932641664/article/details/81874741