设计模式之---简单工厂模式

     最近看了大话设计模式一书,刚看一点点就喜欢上了。所以打算跟着敲一下代码。

     设计模式有必要全部学习一遍么?

     答案是,Yes!别被那些说什么设计模式大多用不上,根本不用全学的舆论所左右。尽管现在设计模式远远不止23种,对所有都有研究是不太容易的,但就像作者本人一样,在学习GOF总结的23个设计模式过程中,你会被那些编程大师们进行伟大的技术思想洗礼,不断增加自己对面向对象的深入理解,从而更好的把这种思想发扬光大。

     重要的不是你将来会不会用这些模式,而是通过这些模式让你找到“封装变化”、“对象间松散耦合”、“针对接口编程”的感觉,从而设计出易维护、易扩展、易复用、灵活性好的程序。成为诗人后可能不需要刻意的按照某种模式去创作,但成为诗人之前他们一定是认真研究过成千上百首的唐诗宋词、古今名句。

   如果说,数学是思维的体操,那么设计模式就是面向对象思维的体操。

                                                                                                                                    ----《大话设计模式》




    如果给出一个问题如:现在有几个人,你找不同的人有不同的回答 请用代码实现。


    如果顺着代码想下去是不是几分钟就有了一个大概的思路,然后把思路变成代码:


然后运行测试,可以使用。就可以爽爽快快的交任务了。

    但是如果这个时候题目变了,变成请用面向对象的形式实现。初学面向对象的时候就记得6个字 封装 继承 多态

         封装:  是指一种将抽象性函式接口的实现细节部分包装、隐藏起来的方法

        继承:  子类继承父类的特征 行为 方法,使得子类对象(实例)具有父类对象的实例域 方法 行为。

       多态:同一行为具有不同的表现形式或形态的能力,父类引用指向子类对象。

    这个时候如果按照这个思路去想,那么我判断回复的方法就需要单独封装起来与用户输入隔离(封装),再看条件里面他们只是不同的人有不同的回答,那么我们是否可以提取一个共同的父类(继承),然后根据不同的指示去做不同的回答(多态)。

    抽取一个父类:

    子类继承父类并重写:


     然后我们抽取判断方法:

   测试类:


    这样的话一个简单的工厂模式就写好了。

    点击查看工厂模式的好处

猜你喜欢

转载自blog.csdn.net/qq_34175896/article/details/79991689