1. 以重用为基本设计目标。目的并不是重用而是为了提高软件代码质量。这样当然对重用会有益,不过我认为,能够被重用的内容是综合考虑用例的共性而特意设计出来的功能(也许设计时并不能这样做,但也可以通过重构而得到重用的效果,前提是原来的代码设计优良所以容易调整。)。而不是这里说的在功能即定的情况下再考虑重用。在种情况下特定的功能也许只存在于特定的逻辑中,而不会得到重用。但仍要按重用进行设计,原因是它会导致优良的接口定义和实现。
2.子程序内不对子程序外有任何假定。以重用为设计目标的子程序将自然的达到这个要求。
3.针对接口编程而不是针对内容编程。附合以上两点的子程序将自然的达到这个要求。
4.高内骤低耦合。附合以上3点的程序将自然的达到这个要求。
5.子过程设计的终极目的,降低软件复杂度。仅以以上4个标准可能导出的结果是多个的,或并不能理想的附和这个标准的,再以这个标准进行取舍或调整。
这里有些要点虽然侧重点不同,但是基本是等效的。因此实际应用中,通常只考虑1和5就够了。
2.子程序内不对子程序外有任何假定。以重用为设计目标的子程序将自然的达到这个要求。
3.针对接口编程而不是针对内容编程。附合以上两点的子程序将自然的达到这个要求。
4.高内骤低耦合。附合以上3点的程序将自然的达到这个要求。
5.子过程设计的终极目的,降低软件复杂度。仅以以上4个标准可能导出的结果是多个的,或并不能理想的附和这个标准的,再以这个标准进行取舍或调整。
这里有些要点虽然侧重点不同,但是基本是等效的。因此实际应用中,通常只考虑1和5就够了。