参考书籍:大话设计模式
督促自己可以一步一步把书本好好看完学完,为未来做努力
简单工厂模式
这是我看完后的想法,简单工厂模式就是透过一个单独类去做判断来new出指定的类,前提时,这些需要new出的都是继承于一个Class底下
书本上是以计算机加减乘除来做教学,而我自己也尝试看书练习了出来
过去
在过去可能用一个Switch去搞定判断各个逻辑所要计算的结果
缺点:这样子使用的话,是有用到了封装,但一旦运算逻辑多的时候,就要担心是否会改错改到其他逻辑
现在
一、先设计出每个运算逻辑的共通属性以及增加一个可override的方法去改写
二、接着建立Add和Sub的类,并且继承此共通类
备注一:由于继承时会将变量一并继承,所以当我们去其他class继承此class时,也就存在了NumA及NumB了
备注二:但构造函数无法被继承,需要使用base来做调用动作,在override vitural的function后,如果在继承那页要用到底层的function也需要记得使用base才可以调用
三、接着要怎么让计算机知道我们要使用哪一个运算逻辑呢?采用的就是Factory
简单工厂模式就是透过一个单独类去做判断来new出指定的类,前提时,这些需要new出的都是继承于一个Class底下
我们建立一个class去做统一控管,并且根据指定的操作符去new出指定的运算逻辑class
四、完成后,我们要开始使用这个Factory,声明共通类的变量并且调用此Factory的方法即可以完成(由于我们上面是有用到static,所以我们没有在做new的动作)
Static的补充:
使用?static?关键字声明的成员称为“静态成员”
??静态成员可让同类建立的对象都可一起共用
??静态成员不需用?new?建立对象就可直接使用,?必须透过类名称再加上“.”操作符直接调用public?的静态成员即可。
非静态成员只有在使用时才会在主内存,否则会回到硬件去,数据也就跟着消失了。
但如果是静态成员,会永远跑在主内存上,数据也不会消失,所以可以不用new就可以叫用
Static补充参考网站:http://a7419.pixnet.net/blog/post/47082515-c%23-%E9%9D%9C%E6%85%8B%E6%88%90%E5%93%A1static
Github位置:https://github.com/Alan-Lun/DesignPatternsStudy
原文:大专栏 [DesignPatterns]二、简单工厂模式(SimpleFactoryPattern)
原文地址:https://www.cnblogs.com/chinatrump/p/11505516.html