我有以下情况:
class A < CommonParent
... some code ...
class IdenticalDescendent < self
identical_statement_0
identical_statement_1
end
end
class B < CommonParent
... some other code ...
class IdenticalDescendent < self
identical_statement_0
identical_statement_1
end
end
这种情况我很多。就像,我的应用程序中有大约 40IdenticalDescendent
个课程。我喜欢这种模式,它允许我调用A::IdenticalDescendent
orB::IdenticalDescendent
或访问不同域中的某些相关行为(由A
or指定B
)。出于某种原因,我不能通过重新设计行为聚类来完全抽象出问题。
所以我的问题的一般形式是如何在所有这些中自动生成 IdenticalDescendent。有其后代CommonParent
不调用此模式,因此该操作可能不应该在那里发生。我想它应该发生在 mixin 或其他东西中,但我发现如果我只是尝试这样做:
class A < CommonParent
include CommonBehaviour
... some code ...
end
module CommonBehaviour
... what ...
end
我不知道如何编写CommonBehaviour
以允许 IdenticalDescendent 从包含类下降。
帮助我 StackOverflow,你是我唯一的希望。