您的位置:首页 > 大数据 > 人工智能

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

2006-11-24 16:38 513 查看

4 A Standard Object-Oriented Solution

根据第三章的问题描述,如何创建一个信息提取系统对于不同的CAD/CAM系统都可以工作,而且为客户对象提供一致的接口,本章采用OO技术设计了一个初步的解决方案,它虽然可行但是却失去了灵活性。
对于slot(同样适用于其他类型)来说,创建一个SlotFeature类,根据CAD/CAM系统版本的不同再分别为其派生V1Slot与V2Slot类。引入其他类型如cutout,hole等,再创建一个Feature类,让包括SlotFeature在内的所有特征类都从其继承(相关图形见书P63),这种实现方式(并未采用多态的方式,因为不需要改变专家系统而只需要在CAD/CAM系统中添加相应的模块特征类就可以满足需求)能够满足系统的需求,然而这并不是一个好的方案,缺点如下:
1、冗余的方法――即很多方法其实内部实现相似,根本没有必要写这么多方法造成理解繁杂;
2、表现混乱;
3、紧耦合性――由于各个特征类直接关联,造成系统的改变困难;
4、弱内聚性――表现各个核心功能的函数(方法)分布在各个类中。
另外一个严重问题是当系统中加入新的模块时,或者说加入新的版本后,类的数目将大量增加,难以管理,因此本方案绝不是一个令人满意的方案。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: