次のような状況があります。
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
私はこの状況が多いです。たとえば、私のアプリには約 40 のIdenticalDescendent
クラスがあります。私はこのパターンが気に入っています。これにより、A::IdenticalDescendent
orまたは what を呼び出して、さまざまなドメイン ( orB::IdenticalDescendent
で指定) の特定の関連する動作にアクセスできます。理由により、動作クラスタリングを再設計しても問題を完全に抽象化することはできません。A
B
したがって、私の質問の一般的な形式は、これらすべてで IdenticalDescendent の生成を自動化するにはどうすればよいかということです。CommonParent
このパターンを呼び出さない子孫が存在するため、アクションはおそらくそこで発生しないはずです。ミックスインか何かで発生するはずだと思いますが、やろうとすると次のようになります。
class A < CommonParent
include CommonBehaviour
... some code ...
end
module CommonBehaviour
... what ...
end
CommonBehaviour
IdenticalDescendent が包含クラスから派生できるようにするための書き方がわかりません。
StackOverflow を助けてください。あなただけが私の希望です。