初试翻译~勇敢show

来源:互联网 发布:网络第一红人是谁 编辑:程序博客网 时间:2024/04/30 01:07

原帖:http://www.javaworld.com/javaworld/jw-09-2003/jw-0905-toolbox.html

   为什么getter/setter方法是邪恶的(减少使用访问修饰使你的代码更易维护)

 我不太愿意以邪恶的字眼来写,一些读者问到在上个月的专栏“为什么extends是邪恶的”提到为什么
应该避免使用get/set方法。

尽管getter/setter方法在java中很常用,但它们不完全是OO的,事实上它们会破坏你的代码的可维护性。
甚至从OO的观点来看,众多getter/setter方法的存在是一个危险的信号。这篇文章将向你说明为何不应该
使用getter/setter方法(在你能使用它们的时候),然后提出一种设计方法帮助你打破使用getter/setter思想论。

设计的本质

在我进入另外一个设计相关的专栏之前,我要说明一些事。我对一些读者的关于上个月专栏的文章“为什么extends是邪恶的”观点感到吃惊,一些人认为我争论的OO是错误的因为extends有问题,就好像这两个概念
是相等的。那显然不是我所想所说的,所以我得阐明一些原始观点。

这个专栏和上个月的观点是关于设计方面的;设计,本来就是一系列的平衡。任何一个选择都会产生好的或者坏的方面,当你在众多标准中作出必要的选择,好坏都不是绝对的,甚至一种好的设计在另外的环境却是坏的。

如果你不理解问题的两面性,你不会作出聪明的选择,事实上,如果你不懂得你所作决定的方方面面,你将不会
设计好。你将一直在黑暗中蹒跚。在四人帮的设计模式一书中的每个章节都包含一个小结来描述何时、为何使用模式是不对称的,这不是个偶然事件。

声明一下,有些语言或者设计短语有问题,并不是说在任何环境下你都不能使用。同理,有些经常用到的短语并不一定就要用到它。无生气的程序员写了很多程序并不能提高他们的编程或设计能力。

--------不知所云的to be continued

 

原创粉丝点击