1.项目引入:
2.传统做法:
3.代码实现(部分)
4.传统做法优缺点:
例如:
前面的Orderpizz代码都是if跟else语句,那要是有很多的orderpizz那要改到吐,所以考虑再做一层类(我的理解是缓冲),然后Orderpizz类去实现或者继承,之后改代码只需要改一个类就行了
5.改进思路:
下面重头戏三连来了!!!!
(一)简单工厂模式:(也叫静态工厂模式)
1.
2.改进完代码:
(二)工厂方法模式:
1.项目需求引入
类图:
OK上面的扩展性又得到了增加,基于类图然后代码实现我们完全可以的!下面引入第三种!
(三)抽象工厂模式
部分代码:
此图为OrderPizz的代码。
最后来个小结:
个人总结:
在内部创建对象的时候先考虑分层,比如从国家到地区的分层,然后做成接口或者抽象类,具体功能就让子类去实现,这样扩展性就变得很强了