工厂模式
来源:互联网 发布:俄罗斯的聊天软件 编辑:程序博客网 时间:2024/06/01 10:51
类图
代码度量
假设代码:
如果需要生产比亚迪汽车,需要修改三处地方
" ICar car1 = SimpleCarFactory.CreateCar("生产比亚迪");
ICar car2 = SimpleCarFactory.CreateCar("生产比亚迪");
ICar car3 = SimpleCarFactory.CreateCar("生产比亚迪");"
//界面逻辑代码 //简单工厂模式 //生产3量宝马汽车 ICar car1 = SimpleCarFactory.CreateCar("生产宝马车"); ICar car2 = SimpleCarFactory.CreateCar("生产宝马车"); ICar car3 = SimpleCarFactory.CreateCar("生产宝马车"); car1.Introduce(); car2.Introduce(); car3.Introduce();
如果需要生产比亚迪起汽车,需要修改一处地方
“ICarFactory carFactory = new BYDFactory()”
//界面逻辑代码 //工厂模式 //生产3量宝马汽车 ICarFactory carFactory = new BMWFactory(); ICar car1 = carFactory.CreateCar(); ICar car2 = carFactory.CreateCar(); ICar car3 = carFactory.CreateCar(); car1.Introduce(); car2.Introduce(); car3.Introduce();
工厂模式优点:
1.降低了耦合性
2.相比简单工厂模式,添加新类不需要再修改工厂管理类,符合了开放--封闭原则
缺点:
1.把判断的逻辑放在了界面逻辑上,增加了客户端的复杂度。
2.每次添加新的产品类都比简单工厂模式需要更多的代码量
1 0
- 工厂模式 -- 工厂方法
- 工厂模式 -- 抽象工厂
- 工厂模式-简单工厂
- 工厂模式-工厂方法
- 工厂模式:静态工厂
- 工厂模式-简单工厂
- 工厂模式-抽象工厂
- 工厂模式-工厂方法
- 工厂 > 工厂方法模式
- 工厂模式-静态工厂
- 工厂模式-抽象工厂
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 工厂模式
- 汉语是思维广阔敏捷的语言
- android资源
- iMindMap中不同的打印方式该怎么分别
- html超链接确认删除
- UIPickerView的简单使用
- 工厂模式
- Android UI开发: 横向ListView(HorizontalListView)及一个简单相册的完整实现 (附源码下载)
- android推送,androidpn项目分析及完善学习笔记(二) Mina
- 如何使用Liquibase
- 加密算法介绍
- 开始使用Docker
- uvaoj10085
- python程序打包成exe执行文件
- rem、em与px之间的关系