📄 193.txt
字号:
日月光华 -- SE精华区文章阅读
--------------------------------------------------------------------------------
发信人: gill (努力工作&等待新生), 信区: SE
标 题: 面向对象设计基本准则
发信站: 日月光华 (2003年04月21日11:39:32 星期一), 站内信件
是java与模式一书有关设计准则的部分抽取与笔记[作者gill]
面向对象设计的基本概念准则
<读书笔记>
1 系统设计的准则
可扩展性(不僵硬),新的东西可以很容易加进来
灵活性:代码改动的波及范围有限
可插入性:可以容易的用一个模块(类)替换另外一个模块
软件复用
2 面向对象设计的基本原则
1)开-闭原则
通过扩展已有的软件系统,提供新的行为,满足对软件的新需求,使变化中的软
件系统有一定的
适应性和灵活性。
已有的软件模块,特别是重要的抽象层模块不能再修改,这就是的变化中的软件
系统有一定的稳
定性和延续性。
即:对可变性的封装,实现方法:抽象化。
2)里氏替换原则
任何基类出现的地方,子类一定可以出现,保证基类真正的被继承。正方形不应该
是长方形的子类
3)依赖倒转原则:抽象不应该依赖细节,细节应该依赖于抽象。
即:对接口编程,而不是对实现编程。
分析比实现更重要(语录)
4)接口隔离原则:
使用多个专门的接口比使用单一的总接口要好。即:一个类对另外的一个类的依赖
要建立在最小的
接口上。
过于臃肿的接口是对接口的污染。一个接口都代表一个项目角色,将角色区分清楚
是系统的重要设
计工作
5) 合成/聚合复用原则:
合成是一种比聚合更强的组成关系,对其组成部分有全部的支配权,包括内存分配
等。在c语言中
,合成是值的聚合,聚合是指针的聚合。
合成/聚合达到的复用目的可能比继承更好
新对象存取成分对象的唯一方法是通过成分对象的接口,是黑箱复用
这种复用支持包装,所需依赖更少。
新的类可以把焦点集中在新的任务上。
可以实现动态的复用
6)迪米特法则:
最小知道原则,一个对象应当对其他对象有尽可能少的了解。只和直接的朋友们通
信,不要和陌生
人说话。
什么是朋友:对象本身、以参量形式传入到当前对象方法中的对象、当前对象的实
例变量直接引用
的对象等等
实现:调用转发。通过朋友转发
缺点:大量小的方法。需要适量而行
--
每一天,都在城市的喧嚣的伴随下,悄然而过。
每一刻,都在自己的思维的运转中,滴滴答答。
当时间悄然而逝的时候,因为我的年轻,却没有看见长者鬓角的白发。
错过那一刻,我忘记了岁月的沧桑。
直到有一天,我看到了聪明的无奈。
从此我学会了感激,懂得了珍惜,幸福于是就在我的身边。
※ 来源:·日月光华 bbs.fudan.edu.cn·[FROM: 10.11.6.1]
--------------------------------------------------------------------------------
[返回上一页] [本讨论区]
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -