作者将软件分为五个层次,提了需要在不事的层次上进行设计,不同层次上有不同的设计技术。
层次性有利于我们能在任意层面上观察系统,并得到某种一致性的看法,而不需要进入其它层次。
子系统间通信太多,将导致修改某个子系统时,需要考虑与之相关的所有子系统,增加了维护,升级变更的工作量和难度,增加了很多不确定性和隐藏的问题。
主要设计任务:把所有的子系统进行适当分解,并确保分解出的细节都恰到好处,能够用单个的类实现。
定义类时,也同时定义类与其它子系统类打交道的细节,尤其要定义好类的接口。
细化出类的私有子程序,对于用时超几小时的,就有必要做这层的设计。
通常是留给程序员个人完成的,虽然 不用非常正式地完成这一步骤,但至少也要在脑中完成。
通常是负责开发的人员完成,为每个子程序布置详细功能,如伪代码、选择算法、组织代码块。
这一层的设计总时需要做的,有时和实现同时进行,有时做得很不在意或很差劲,有时则是经过深思熟虑的。
免责声明:本文系网络转载或改编,未找到原创作者,版权归原作者所有。如涉及版权,请联系删