抽象工厂对产品等级的拓展(求大神指点)
来源:互联网 发布:淘宝客服对话 编辑:程序博客网 时间:2024/05/16 09:39
写这篇文章是因为在csdn上看到刘伟老师写的一篇抽象工厂的文章,文章链接在这里:http://blog.csdn.net/lovelion/article/details/9319423。
有关于工厂模式我就不重复了,刘老师那里写的很详细。
最后面有一个问题,就是抽象工厂是否符合开闭原则,在产品族和产品等级两个方面去思考,我没有查看文献,只是按照自己的理解来回答这个问题。
在产品族方面,抽象工厂是支持开闭原则的,因为增加一个产品族,本质上就是增加一个新的抽象工厂的实现类而已,但是如果要增加一个产品等级,那么就不符合开闭原则了,因为你必须在抽象工厂里面再添加一个新的方法。
以电视机和洗衣机为例,有两家工厂生产这个产品族,一家是A公司,一家是B公司,如果要增加一个产品族,再去实现一个C公司就好了。
可是如果要增加一个空调,那么抽象工厂方法就需要改变,增加一个生产空调的方法,对应着实现了抽象工厂方法的实体类也要重写增加空调的方法。
那么如何解决这个问题,我思考的是代码肯定要动,只是在哪里动而已。我想的方法是增加一个工厂管理的接口,让抽象工厂类去继承这个工厂管理的接口,增加一个新的产品等级就在工厂管理里面处理。
在工厂管理里面增加或者删除对应的产品等级,然后让工厂的实现类重写里面的方法就可以做到对产品等级的拓展。
第一次写文章,排版思路都很乱,还望理解。
0 0
- 抽象工厂对产品等级的拓展(求大神指点)
- 数据流控制文件(自己理解的,求大神指点)
- 工厂三兄弟之抽象工厂模式(二):产品等级结构与产品族
- android新手,求大神的指点啊
- 抽象工厂模式(二):产品等级结构与产品族
- 【怎样写代码】工厂三兄弟之抽象工厂模式(三):产品等级结构与产品族
- 抽象工厂模式-Abstract Factory Pattern 工厂三兄弟之抽象工厂模式(二):产品等级结构与产品族
- AE开发求大神指点
- Android 3D图形的手势旋转(未完成,求大神指点)
- 验证哥德巴赫猜想(好难啊,感觉自己写的有点啰嗦,求大神指点!!!)
- 自己编的万年历,求大神指点不足
- mysql 存储过程的怪异 求大神指点
- 为什么我的代码一直都是WA,求大神指点
- 看看大神的指点
- 项目一(直接抓狂,还是不对,求大神指点)
- 产品蔟的创建--抽象工厂模式
- 求大神指点---太乐了
- 刚学 RMQ 求大神指点
- Linux系统启动过程分析
- iOS Swift3.0实现视频播放横竖屏切换效果
- Codeforces Round #403 (Div. 2, based on Technocup 2017 Finals) B. The Meeting Place Cannot Be Change
- Struts2中<s-if>和<s-iterator>标签的使用
- 利用luks加密linux磁盘
- 抽象工厂对产品等级的拓展(求大神指点)
- wordpress如何获得当前用户的头像
- Laravel学习篇-数据库操作和查询构造器
- 硬币问题 经典dp
- HDU1248 寒冰王座
- Arduino与LabVIEW交互---LIFA
- string的内存分配引发的思考
- 基于Java语言的安卓编程之十三ImageView控件(上)
- static静态内部类