代码大全2 读书笔记(一)

2021-01-24  本文已影响0人  _1633_

 软件构建中的设计(第5章)

        高质量的设计常见的特征

           1 最小的复杂程度:设计的首要目的就是要让复杂度最小;避免作出 ‘聪明的’ 设计,因为 ‘聪明的’ 设计常常都是难以理解的;应当作出简单而且易于理解的设计。

           2 易于维护:设计时为做维护工作的程序员着想。

           3 松散耦合:设计时让程序的各个组成部分之间关联最小。通过应用类接口中的合理抽象,封装性以及信息隐藏等原则,设计出相互关联尽可能最少的类。减少关联也就减少了集成,测试与维护的工作量。

           4 可扩展性:改动系统的某一部分而不影响其他部分。

           5 可重用性:设计的系统的组成部分能在其他系统中重复使用。

           6 高扇入:让大量的类使用某个给定的类,这意味着设计出的系统很好的利用了在较低层次上的工具类(utility classes)。

           7 低扇出:让一个类少量的或适中的使用其他类。

           8 可移植性:设计的系统能很方便的移植到其他环境中去。

           9 精简性:设计出来的系统没有多余的部分。

           10 层次性:保持系统各个分解层的层次性。书中的例子:假如编写一个新系统,其中用到很多设计不佳的旧代码,这时候应该为新系统编写一个负责同旧代码交互的层,设计这层时,要让它能影藏旧代码的低劣质量,同时为新的层次提供一组一致的服务,这样你的系统的其他部分就只有新的层打交道,无需同旧代码进行交互。层次化设计的好处:1把低劣的代码隐藏起来 ;2若果最终抛弃旧代码或者重构,就不必修改除交互层之外的任何新代码。

           11 标准技术:一个系统所依赖的外来的,古怪的东西越多,别人就越难理解,尽量使用标准化的,常用的方法,让整个系统给人熟悉的感觉。

        设计的层次

 表驱动法

            表驱动法是一种 编程模式(scheme)----------- 从表里面查找信息而不是使用逻辑语句(if 和 case)。凡是能通过逻辑语句来选择的事物,都可以通过查表来选择。    

                使用表驱动法的两个问题

                    1 怎样从表中查询条目

                        ①直接访问

简单粗暴的方法

                    表驱动法的做法

直接访问

                        ②索引访问

                        ③阶梯访问

                    2 在表里存什么

上一篇下一篇

猜你喜欢

热点阅读