简单工厂模式

故事一:

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

 

故事二:

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

 

故事三:

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

 

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

评论 20
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值