分数を表す Objective-C クラスを作成していて、不変バージョンと可変バージョンを作成したいとします。
fractionByAddingFraction:
Foundation フレームワークのパターンに従うと、不変バージョンと可変バージョンのメソッドが表示されることが予想される場合がありますaddFraction:
。
私が直面しているパラドックスは、2 つのクラス間で分数加算ロジックを 1 回だけ含める方法です。コードの重複を避けるために、不変fractionByAddingFraction:
メソッドは可変メソッドについて知る (そしてそれを利用する) 必要があるaddFraction:
ようですが、不変クラスの実装に可変メソッドを含めることは、不変オブジェクトで呼び出される可能性があることを意味します。これはポイントを打ち負かします。
簡単な説明 (または、この単純化された例の続き) をいただければ幸いです。