私はRubyでいくつかの給与計算ソフトウェアをコーディングしています.これは、米国とカナダの両方の企業で使用されることを意図しています.(将来的に他の場所で拡張される可能性があります.)明らかに、従業員のようないくつかのクラスでは、いくつかの共有機能がありますが、違いもたくさん。たとえば、一部の規制データとビジネス ロジックは、いずれかの国でのみ使用する必要があります。
このアプリでは、会社は 1 種類の従業員しか含めることができないため (つまり、会社の従業員はカナダ人またはアメリカ人のみである可能性があります)、継承階層を作成する代わりに、ミックスインを使用して実行時にさまざまな機能を追加することを考えていました。これは非常に面倒になる可能性があります。国によって違いがあるクラスは Employee クラスだけではないため、すべてのクラスを動的に拡張して、実行時に地域の機能を含めると役立つようです。
これはアプリを整理する効果的な方法ですか、それとも欠点はありますか?