ivaneeo's blog

自由的力量,自由的生活。

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
动机(Motivation)
面向对象的首要原则之一就是封装(encapsulation),或者称为[数据隐藏](data hidding).

public数据被看做是一种不好的作法,因为这样会降低程序的模块化程度(modularity).如果数据和使用该数据的行为被集中在一起,一旦情况发生变化,代码的修改就会比较简单,因为需要修改的代码都集中于同一块地方,而不是星罗棋布地散落在整个程序中.

Encapsulate Field(206)是封装过程的第一步.通过这项重构手法,你可以将数据隐藏起来,并提供相应的访问函数(accessors).但它毕竟只是第一步.如果一个class除了访问函数(accessors)外不能提供其他行为,它终究只是一个dumb class(哑类).这样的class并不能获得对象技术的优势,而你知道,浪费如何一个对象都是很不好的.实施Encapsulate Field(206)之后,我会尝试寻找那些使用[新建访问函数]的函数,看看是否可以通过简单的Move Method(142)轻快地将它们移到新对象去.
posted on 2005-09-15 14:21 ivaneeo 阅读(434) 评论(0)  编辑  收藏 所属分类: refactoring-从地狱中重生

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


网站导航: