61条面向对象设计的经验原则

61条面向对象设计的经验原则

ID:39463579

大小:34.00 KB

页数:5页

时间:2019-07-03

61条面向对象设计的经验原则_第1页
61条面向对象设计的经验原则_第2页
61条面向对象设计的经验原则_第3页
61条面向对象设计的经验原则_第4页
61条面向对象设计的经验原则_第5页
资源描述:

《61条面向对象设计的经验原则》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、61条面向对象设计的经验原则1piao网收集整理ThuMar0921:00:30CST2006收藏该页收藏本站来自:星级:四星级  (1)所有数据都应该隐藏在所在的类的内部。    (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。    (3)尽量减少类的协议中的消息。    (4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝)、相等性判断、正确输出内容、从ASCII描述解析等等]。    (5)不要把实现细节(例如放置共用代码的私有函数)放到类的公有接口中。    如果类的两个方法有一段公共代码,那么就可以创建一个防止这些公共代

2、码的私有函数。    (6)不要以用户无法使用或不感兴趣的东西扰乱类的公有接口。    (7)类之间应该零耦合,或者只有导出耦合关系。也即,一个类要么同另一个类毫无关系,要么只使用另一个类的公有接口中的操作。    (8)类应该只表示一个关键抽象。    包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包影响,则将对包中的所有类产生影响,而对其他的包不造成任何影响61条面向对象设计的经验原则1piao网收集整理ThuMar0921:00:30CST2006收藏该页收藏本站来自:星级:四星级  (1)所有数据都应该隐藏在所在的类的内部。    (2

3、)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。    (3)尽量减少类的协议中的消息。    (4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝)、相等性判断、正确输出内容、从ASCII描述解析等等]。    (5)不要把实现细节(例如放置共用代码的私有函数)放到类的公有接口中。    如果类的两个方法有一段公共代码,那么就可以创建一个防止这些公共代码的私有函数。    (6)不要以用户无法使用或不感兴趣的东西扰乱类的公有接口。    (7)类之间应该零耦合,或者只有导出耦合关系。也即,一个类要么同另一个类毫无关系,要么只使用另一个

4、类的公有接口中的操作。    (8)类应该只表示一个关键抽象。    包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包影响,则将对包中的所有类产生影响,而对其他的包不造成任何影响61条面向对象设计的经验原则1piao网收集整理ThuMar0921:00:30CST2006收藏该页收藏本站来自:星级:四星级  (1)所有数据都应该隐藏在所在的类的内部。    (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。    (3)尽量减少类的协议中的消息。    (4)实现所有类都理解的最基本公有接口[例如,拷贝操作(深拷贝和浅拷贝)、相等性

5、判断、正确输出内容、从ASCII描述解析等等]。    (5)不要把实现细节(例如放置共用代码的私有函数)放到类的公有接口中。    如果类的两个方法有一段公共代码,那么就可以创建一个防止这些公共代码的私有函数。    (6)不要以用户无法使用或不感兴趣的东西扰乱类的公有接口。    (7)类之间应该零耦合,或者只有导出耦合关系。也即,一个类要么同另一个类毫无关系,要么只使用另一个类的公有接口中的操作。    (8)类应该只表示一个关键抽象。    包中的所有类对于同一类性质的变化应该是共同封闭的。一个变化若对一个包影响,则将对包中的所有类产生影响,而对其他的包不

6、造成任何影响。    (9)把相关的数据和行为集中放置。    设计者应当留意那些通过get之类操作从别的对象中获取数据的对象。这种类型的行为暗示着这条经验原则被违反了。    (10)把不相关的信息放在另一个类中(也即:互不沟通的行为)。    朝着稳定的方向进行依赖。    (11)确保你为之建模的抽象概念是类,而不只是对象扮演的角色。    (12)在水平方向上尽可能统一地分布系统功能,也即:按照设计,顶层类应当统一地共享工作。    (13)在你的系统中不要创建全能类/对象。对名字包含Driver、Manager、System、Susystem的类要特别多

7、加小心。    规划一个接口而不是实现一个接口。    (14)对公共接口中定义了大量访问方法的类多加小心。大量访问方法意味着相关数据和行为没有集中存放。    (15)对包含太多互不沟通的行为的类多加小心。    这个问题的另一表现是在你的应用程序中的类的公有接口中创建了很多的get和set函数。    (16)在由同用户界面交互的面向对象模型构成的应用程序中,模型不应该依赖于界面,界面则应当依赖于模型。    (17)尽可能地按照现实世界建模(我们常常为了遵守系统功能分布原则、避免全能类原则以及集中放置相关数据和行为的原则而违背这条原则)。    (18)从你

8、的设计中去

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。