美文网首页
代码大全2 读书笔记(一)

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

作者: _1633_ | 来源:发表于2021-01-24 23:29 被阅读0次

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

            高质量的设计常见的特征

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

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

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

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

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

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

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

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

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

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

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

            设计的层次

     表驱动法

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

                    使用表驱动法的两个问题

                        1 怎样从表中查询条目

                            ①直接访问

    简单粗暴的方法

                        表驱动法的做法

    直接访问

                            ②索引访问

                            ③阶梯访问

                        2 在表里存什么

    相关文章

      网友评论

          本文标题:代码大全2 读书笔记(一)

          本文链接:https://www.haomeiwen.com/subject/qbpphftx.html