你的位置:首页 > Java教程

[Java教程]创建高质量的代码(5


一:设计中的挑战

--设计是一个险恶的问题。

--设计是一个了无章法的过程(即使他能得到清爽的结果)。

--设计就是确定取舍和调整顺序的过程。

--设计受到诸多的限制。

--设计是不确定的。

--设计是一个启发式是过程

--设计是自然而然形成的。

二:管理复杂度。

--把任何人在同一时间处理问题的复杂度降到最低。

--不要让偶然的复杂度快速的增长。

三:设计构造快-启发式方法

1:找出现实中的对象:

--辨识对象及属性。

--定义对对象的操作。

--确定每个对象可以对其他对象进行的操作。

--确定对象的哪些部分对其他对象可见。

--定义每个对象的接口。

2:形成一致的抽象:

3:封装实现细节。

4:当继承能简化设计时就继承。

5:信息隐藏。

6:找出容易改变的区域。

7:松耦合,高内聚。

8:构造分成结构。

9:严格描述类契约。

10:分配职责,为测试而设计,避免失误。

11:保持设计的模块化。

四:ADT(abstract data type)抽象数据类型:是指一些数据及对这些数据所进行操作的集合。

--可以隐藏细节。

--改动不会影响整个程序。

--让接口提供更多的信息。

--更容易提高性能。

--让程序的正确性更显而易见。

--程序更具有自我说明性。

--无需再程序内到处传递参数。

五:良好的类接口:创建高质量的类,第一步,也可能是最重要的一步,就是创建一个好的接口。

1:类的接口应该展现一致的抽象层次。

2:一定要理解类要实现的抽象是什么。

3:提供成对的服务。

4:把不相关的信息转移到其他的类中。

5:谨防在修改的时候破坏接口的抽象。

6:不要添加与接口抽象不一致的公共成员。

7:同时考虑抽象性与内聚性。

六:良好的封装:(阻止你看见细节。与抽象是一起的,要么全有,要么全没有。)

--尽可能的限制类和成员的可访问性。

--不要暴漏公开成员函数。

--避免吧私用的实现细节放入到类的接口中。

--不要对类的使用者做出任何的假设。

--要格外的警惕从语义上破坏封装。

--留意过密的耦合关系。

七:子程序

--降低复杂度

--引入中间,易懂的抽象。

--避免代码重复。

--隐藏顺序

--提高可移植性。

--简化复杂的布尔判断。

--改善性能。

--子程序的名字非常的重要

--子程序按照内聚性可以分为许多类。功能性内聚是最佳的一种。

八:防御式编程:保护程序免受遭非法数据的破坏。

--检查所有来源于外部数据的值。

--检查子程序的所有的输入输出值。

--决定如何处理错误的输入值。

九:创建一个类的步骤:

1:创建类的总体设计

2:创建类的子程序。

3:复审并测试整个类。