[设计模式]--Design Patterns Explained学习笔记[chap4]

来源:互联网 发布:常熟美工培训 编辑:程序博客网 时间:2024/05/29 13:56

4 A Standard Object-Oriented Solution

根据第三章的问题描述,如何创建一个信息提取系统对于不同的CAD/CAM系统都可以工作,而且为客户对象提供一致的接口,本章采用OO技术设计了一个初步的解决方案,它虽然可行但是却失去了灵活性。

对于slot(同样适用于其他类型)来说,创建一个SlotFeature类,根据CAD/CAM系统版本的不同再分别为其派生V1SlotV2Slot类。引入其他类型如cutouthole等,再创建一个Feature类,让包括SlotFeature在内的所有特征类都从其继承(相关图形见书P63),这种实现方式(并未采用多态的方式,因为不需要改变专家系统而只需要在CAD/CAM系统中添加相应的模块特征类就可以满足需求)能够满足系统的需求,然而这并不是一个好的方案,缺点如下:

1、冗余的方法――即很多方法其实内部实现相似,根本没有必要写这么多方法造成理解繁杂;

2、表现混乱;

3、紧耦合性――由于各个特征类直接关联,造成系统的改变困难;

4、弱内聚性――表现各个核心功能的函数(方法)分布在各个类中。

另外一个严重问题是当系统中加入新的模块时,或者说加入新的版本后,类的数目将大量增加,难以管理,因此本方案绝不是一个令人满意的方案。

 
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 内裤穿久了有异味怎么办 刨腹产私处捂烂了怎么办 猫咬手指出血了怎么办 老有白带涌出来怎么办 耳朵里塞了珠子怎么办 树脂发光字烧了怎么办 马蹄莲长得太高怎么办 百合球的芽断了怎么办 种的百合开败怎么办 盆栽百合花开完之后怎么办 土养百合花谢了怎么办 多肉叶子不饱满怎么办 冬天富贵竹叶子发黄怎么办水养 富贵竹叶子发黄怎么办水养 水养富贵竹有虫怎么办 水养的富贵竹叶子发黄怎么办 百合花水里的盐放多了怎么办 芦荟叶子发黄干瘪了怎么办 水插百合不开花怎么办 干百合冷水泡了怎么办 牡丹籽油过期了怎么办 ps画布建小了怎么办 腰突然疼的受不了了怎么办 微信里面打不开表格怎么办? 浏览器未正常加载相关控件怎么办 猫的眼睛发炎了怎么办 橡胶手机壳松了怎么办 橡胶手机壳小了怎么办 苹果手机下载不了软件了怎么办 苹果手机浏览器下载不了软件怎么办 小狗吃了硬的棉花怎么办 小狗吃了隔尿垫里的棉花怎么办 眼睫毛掉进眼睛里怎么办 爱掉头发怎么办吃什么 头皮屑多头发干燥脱发怎么办 剪了头发后悔了怎么办 2岁宝宝发际线高怎么办 脱发怎么办吃什么能长发 后面头发睡平了怎么办 鸟羽毛长得不好怎么办 吃激素药头发掉怎么办