悬赏分:10 浏览:249 次
看了Allen Holub的《Why getter and setter methods are evil -- Make your code more maintainable by avoiding accessors》这篇文章,感觉就是对我的当头一棒,从前也近似崇拜地根着书上所说那样想:让字段成为private,然后用访问器将其公开,是为了更好的封装。确实,用了访问器会比直接公开字段好得多,但是,当访问器返回的是一个具体类型时,使用访问器还是不可取。
但是在.net中,访问器的普遍使用是让我疑惑的主要原因,尤其是实体类,网上看到的许多关于分层架构的文章中的实体类几乎全都是用访问器公开了所有的属性,FCL中也有大量的属性的使用,既然如此,那肯定有使用它的道理,那“道理”是什么呢?也许这也是度的问题,那要如何把握这个度呢?
还请指教!
|
3个月前 水言木 : @玉开 文章地址是:http://www.javaworld.com/javaworld/jw-09-2003/jw-0905-toolbox.html ---------- 如文章所说,比如一个getter,返回的是一个int,但是一旦某天发些要把它的类型从int改成long的话,那就会在引用了这个属性的地方都出现编译错误。 文章中有一句:Don't ask for the information you need to do the work; ask the object that has the information to do the work for you. 对于文章中说到的问题,还算都可以理解,只是如我的问题中所说,.net应用中那么多的属性应用让我感到了迷惑... |