简单工厂模式

来源:互联网 发布:知敬畏守规矩 编辑:程序博客网 时间:2024/05/29 13:42

故事一:

通过让小菜使用任意一种面向对象的编程语言(C++Javac#vb.Net)实现一个计算器控制台程序。通过古代活字印刷的故事,以及复制vs复用这个例子,引用了业务的封装。写一个Windows应用程序的计算器,可以复用(Operation)这个运算类。什么是业务的封装呢?让业务逻辑和界面逻辑分开,让它们的耦合度降低,从而实现前面所说活字印刷的前两个效果(可维护、可复用)

 

故事二:

大鸟想让小菜加一个(开根)sqrt运算,小菜的意思是想在原有的Operation运算类中添加,但是大鸟的疑虑是万一小菜不小把加法改成减法怎么办,大鸟有举了一个为公司薪资管理系统做维护的例子,小菜瞬间明白,首先一个运算类,有两个Number属性,然后有一个虚方法GetResult(),用于得到结果,把后面的加减乘除都写成运算类的子类,继承它后,重写GetResult()方法。但是问题是计算器不知道我希望用哪一个算法。

 

故事三:

通过故事二引出了我们的学习目标。在这个简单运算工厂类中,我们只需要输入运算符号,工厂就实例化出合适的对象,通过多态返回父类的方式实现了计算器的结果。


简单工厂模式:定义一个工厂类,根据返回参数的不同实例化不同的对象。

0 0
原创粉丝点击