设计模式入门-简单工厂模式
简单工厂模式的根本就在于不是由客户端编程者来实例化对象,而且可以把选择需要实例化那一种对象的具体逻辑放入工厂之内,客户端只需要把需要实例化的对象的条件传入即可。
好处:可以把实例化这种细节封装在工厂里面
坏处:工厂想要扩展就需要修改工厂类的代码,违反了开放-封闭原则。
下面的代码是两个数的加减乘除,应用了简单工厂模式
具体计算类的抽象父类,对外的接口是接口或者抽象类有利于扩展,比如我想增加计算方法只需要增加计算类然后继承此抽象类,而对外的接口不变
加法类
减法类
乘法类
除法类(此处的非零错误处理不好,在此种计算类里不能显示具体信息,而应该返回错误信息或者异常,不过这里不改了,因为我懒~~
,以后同理)
工厂类,可以看到计算类的实例化和判断都是在此进行的
(第24行抛了异常……不妥)
测试类,我们在应用时只需要传入我们需要得到什么样的计算类实例,第8行在引用声明也是用的抽象父类
(13-16行的捕捉异常……很不妥……很无意义……)
posted on 2009-01-06 11:45 lostheaven 阅读(259) 评论(0) 收藏 举报





}
}
浙公网安备 33010602011771号