MATH クラスを作成していて、2 つの数値を処理するメソッドを提供する必要があるとします。[
可能な操作ごとに have メソッドという従来のメカニズムを提供する代わりに、1 つのメソッド eval を提供します。wherefloat eval(ArgObj);
はArgObj
、2 つの数値と演算子を保持できるオブジェクトです。したがって、単一のメソッドで複数の操作を実行できるようになりました。
このデザインの欠点は何ですか?
2 つの特定の欠点は、eval がより多くの操作を処理できるようになるため、メンテナンスとドキュメント化です。
ここで見逃している他の欠点は何ですか?
更新: 私が把握しようとしているのは、大規模なモノリシックな方法のネガです。上記の例は単なる仮説であり、別の同様の例は次のような方法です
float doSomething(int basedOn)
どこで doSomething は一連の操作を実行できます。