重构原则(java)

1995,Auer曾在文献[AUER95]中指出:
1.应当根据行为而不是状态定义一个类。也就是说,一个类的实现首先建立在行为基础之上,而不是建立在状态的基础之上。
2.在实现行为时,是用抽象状态而不是用具体状态。如果一个行为涉及到对象的状态时,使用间接的引用而不是直接的引用。换言之,应当使用取值方法而不是直接引用属性。
3.给操作划分层次。一个类的行为应当放到一个小组核心方法(kernel method)里面,这些方法以很方便地在子类中加以置换。
4.将状态属性的确认推迟到子类中。不要在抽象类中过早声明属性变量,应该将它们尽量地推迟到子类中去声明。在抽象超类中,如果需要状态属性的话,可以调用抽象的取值方法,而将抽象的取值方法的实现放到具体子类中。
如果能够遵从这样的原则,那么就可以在等级结构中将接口与实现分隔开来,将抽象与具体分割开来,从而保证代码可以最大限度地被复用。

posted on 2009-11-17 13:41 键盘动物 阅读(172) 评论(0)  编辑  收藏


只有注册用户登录后才能发表评论。


网站导航:
 
<2009年11月>
25262728293031
1234567
891011121314
15161718192021
22232425262728
293012345

导航

统计

常用链接

留言簿

随笔档案

新闻分类

搜索

最新评论

阅读排行榜

评论排行榜