Ruby 一个类有多少:attr_访问器太多?

Ruby 一个类有多少:attr_访问器太多?,ruby,oop,design-patterns,refactoring,Ruby,Oop,Design Patterns,Refactoring,有多少个:属性访问器对于类来说太多了,或者,这种方法的“正确”数量是多少(如果有“正确的数量”这样的东西) 因此,作为一个简单的例子,请看 class Example :attr_accessor :a, :b, :c, :d, :e, :f, :g, :h, :i, :j, :k # instance methods here... end 显然,有时需要大量这样的变量和相应的访问器(也许您会在ActiveRecord::Model中看到这一点);但我正在寻找一种合适的启发式方法,用

有多少个
:属性访问器对于
来说太多了,或者,这种方法的“正确”数量是多少(如果有“正确的数量”这样的东西)

因此,作为一个简单的例子,请看

class Example
  :attr_accessor :a, :b, :c, :d, :e, :f, :g, :h, :i, :j, :k
  # instance methods here...
end
显然,有时需要大量这样的变量和相应的访问器(也许您会在
ActiveRecord::Model
中看到这一点);但我正在寻找一种合适的启发式方法,用于根据类中实例变量的原始数量确定是否重构


非常感谢您回答突出显示和/或总结有关此设计问题的文章、演示文稿、书籍等。

我认为没有太多的属性访问器,也没有理由重构此类代码。如果该类使用并需要所有这些属性,那么您可以拥有所需的所有属性


然而,这可能是一个突破的迹象,因此这是需要注意的。

在面向对象编程中,如果服务于类的方法在许多方面趋于相似,则该类被称为具有高内聚性。在一个高度内聚的系统中,代码的可读性和可重用性得到了提高,同时复杂性也得到了控制

wiki此处:

这本书:

那么:为什么要投否决票?我可以被否决,但我希望在评论中给出这样做的理由。也许这个问题可以改进?