是否有一个良好的,没有,一个非常充分的理由,要通过使用getter和setter方法的面向对象语言的所有麻烦吗?使用对属性或方法的直接引用有什么问题?人们不想在礼貌的公司谈论某种"语义掩盖"吗?当有人走出去说"你应该写大量的代码以获取吸气剂和制定者"时,我是否太累了并且睡着了?
一年后的后续行动:
它似乎是Java的常见现象,而不是Python. 我开始怀疑这是否更像是一种文化现象(与语言的局限性有关),而不是"圣人的建议". 由于我不使用Java编程(目前可供选择),因此无法进行评估.
就我而言,目前(截至本文写作2010-03-22)-1问题得分已经完成了lulz.有趣的是,有一些特定的问题被低估了,不是因为它们是"坏问题",而是因为它们触及某人的原始神经.
那么让我们来解决问题.我重复一遍:
What's wrong with just using a direct reference to a property or method?
这是不成文的推论:
Are we so undisciplined as programmers that we can't keep our hands off of things that are clearly marked "no touchy"?
这是艾伦·霍鲁布(Allen Holub)(他很聪明)对此事的看法。他在Holub on Patterns中更详细地讨论了这个主题。有些事情需要公共 getter 和 setter,例如序列化和数据传输对象模式等模式。一般来说,我认为必要的邪恶,因为当你不使用它们时你的应用程序会变得复杂。
归档时间: |
|
查看次数: |
3986 次 |
最近记录: |