私はオープンとクローズド・プリンシプルに違反しているコントローラを持っています。私は特定の条件でこれを解決する方法を理解しようとしています。ここに実装があります。SOLIDに違反する違反を他の場所でロードすることなく、SOLIDに続くクラスをどのように設計できますか?
ここで問題となるのは、新しい録画設定がある場合は、設定コントローラーに戻って新しい録画設定を追加する必要があります。 BasicRecordingとAdvanceRecordingをNotSolidRecordingSettingsControllerに挿入すると、NotSolidRecordingSettingsControllerをインスタンス化するオブジェクトはBasicRecordingとAdvanceRecordingのインスタンス化を行う必要があります。しかし、その後、そのオブジェクトはOCPに違反します。誰かがオブジェクトを作成する必要があります。
Not OCPの一部を別のものにロードするだけで、これをOCPにする方法を教えてください。
この種の問題には特定のデザインパターンがありますか?
クラスのパブリックメソッドを使用するクラスは、次のように見えますか? –