摘要: 内聚原则 “高内聚,低耦合”原则是软件模块设计的通用原则。实际上,该原则最早出现在结构化设计(structured design)中,后被引入对象式设计。耦合和内聚是衡量软件设计质量的两个重要指标,是检验模块设计是否合理的主要标准。其中,耦合(coupling)反映模块之间的关联程度,内聚(cohe 阅读全文
posted @ 2016-07-06 02:32 sisyphus_sh 阅读(1043) 评论(0) 推荐(0) 编辑
摘要: 依赖原则 间接原则有一个直接的推论,就是依赖反转原则(Dependency Inversion Principle),简称DIP。依赖反转原则就是高层模块不应依赖低层模块,它们都应依赖抽象;抽象不应依赖细节,细节应依赖抽象。 1)DIP的产生背景 从代码实现的角度来看,高层模块依赖低层模块是很正常的 阅读全文
posted @ 2016-07-06 02:05 sisyphus_sh 阅读(259) 评论(0) 推荐(0) 编辑
摘要: 间接原则 All problems in computer science can be solved by another level of indirection, except of course for the problem of too many indirections. ——Davi 阅读全文
posted @ 2016-07-05 22:12 sisyphus_sh 阅读(295) 评论(0) 推荐(0) 编辑
摘要: 值与引用 值语义的对象是独立的,语义的对象却是允许共享的。由于Java不支持值类型对象,Java程序员才更需要加强这方面的意识。语法和语义并不总是一致的——语法上的值类型可能在语义上是引用类型,语法上的引用类型可能在语义上是值类型。永远不要忘记一个基本原则:语法只是手段,语义才是目的。 为了判断一个 阅读全文
posted @ 2016-07-04 03:08 sisyphus_sh 阅读(250) 评论(0) 推荐(0) 编辑
摘要: 值与引用 值(value)与引用(reference)因其天生的对立性,提供了一个二分法(dichotomy)的准则。 把数据分成两类: 值——具有某种类型的数据 引用——可用来获取特定数据的值 把变量分成两类: 值变量——表示值的变量 引用变量——表示引用的变量 把数据类型分成两类: 值类型——能 阅读全文
posted @ 2016-07-01 00:49 sisyphus_sh 阅读(260) 评论(1) 推荐(1) 编辑
摘要: 多态类型——静中之动 1.多态与继承有何关系? 继承的主要用途不是代码重用,而是代码被重用。这依赖于两个前提,一个是在语义上遵循里式代换原则,另一个是在语法上支持多态机制。 对于静态类型语言来说,继承是多态的基础,多态是继承的目的。 对于动态类型语言来说,鸭子类型是一种不依赖于继承的多态类型,也是动 阅读全文
posted @ 2016-06-29 15:06 sisyphus_sh 阅读(236) 评论(0) 推荐(0) 编辑
摘要: 提倡接口继承,慎用实现继承。 非抽象类不适宜作基类。 为继承而设计的类应该做到:禁用protected成员域;保证protected成员方法的规范性和稳定性;防止覆盖的副作用。 软件设计应该兼顾灵活性与稳定性,提倡外静内动。外静指保持外部的接口不变,内动指允许内部的实现变动。无论是抽象还是设计模式以 阅读全文
posted @ 2016-06-28 23:51 sisyphus_sh 阅读(202) 评论(0) 推荐(0) 编辑
摘要: 编程范式 命令式/过程式(Imperative/Procedural) 代表语言 Fortran/Pascal/C 核心概念 命令/过程(Command/Procedure) 运行机制 命令执行 关键突破 突破单一主程序和非结构话程序的限制 实现原理 引入逻辑控制与子程序 主要目的 模拟机器思维,实 阅读全文
posted @ 2016-06-27 02:37 sisyphus_sh 阅读(365) 评论(0) 推荐(0) 编辑