複数の機能モジュールのコードの一部は共通です。関数の 1 つを変更したい場合、どの関数がこのコードを参照しているかわからないときに、他の関数の損傷を避けるにはどうすればよいですか?< /p>
走同样的路,发现不同的人生
それを抽象化します 次に、抽象メソッドを実装するための複数のメソッドを記述し、異なる機能ポイントが異なるビジネス ロジックを実装します。
最も簡単な方法。それをコピーして別途引用してください。
たとえば、パブリック モジュールの A メソッドを変更する必要があり、A を使用する他のモジュールもある場合、A を変更する代わりに別の A1 メソッドを作成できます。
サブクラスのコードの公開部分を上書きしたり、そのうちの 1 つの機能を自由に変更したりできます
カテゴリを作成する カテゴリでこのメソッドをオーバーライドします このファイルにカテゴリをインポートします。
このパブリックメソッドを継承したサブクラスを記述し、変更が必要な部分をサブクラスにカプセル化し、対象モジュールにこのサブクラスを使用します。
新しいメソッドを作成します。他人をパッケージ化する方法。
変更により元のコードの動作が変わる場合は、新しいコードを作成するのが最善です 新しいコードが元のコードと多くの重複がある場合は、再利用可能な部分を抽出することを検討できます
2つの方法:
メソッドにフラグ型パラメータを追加し、メソッド内の異なるフラグに応じて異なる処理を実行します
もう 1 つのメソッドを書き換えます
そのメソッドを分類して修正してみましょう
それを抽象化します
次に、抽象メソッドを実装するための複数のメソッドを記述し、異なる機能ポイントが異なるビジネス ロジックを実装します。
最も簡単な方法。それをコピーして別途引用してください。
たとえば、パブリック モジュールの A メソッドを変更する必要があり、A を使用する他のモジュールもある場合、A を変更する代わりに別の A1 メソッドを作成できます。
サブクラスのコードの公開部分を上書きしたり、そのうちの 1 つの機能を自由に変更したりできます
カテゴリを作成する カテゴリでこのメソッドをオーバーライドします このファイルにカテゴリをインポートします。
このパブリックメソッドを継承したサブクラスを記述し、変更が必要な部分をサブクラスにカプセル化し、対象モジュールにこのサブクラスを使用します。
新しいメソッドを作成します。他人をパッケージ化する方法。
リーリー変更により元のコードの動作が変わる場合は、新しいコードを作成するのが最善です
新しいコードが元のコードと多くの重複がある場合は、再利用可能な部分を抽出することを検討できます
2つの方法:
メソッドにフラグ型パラメータを追加し、メソッド内の異なるフラグに応じて異なる処理を実行します
もう 1 つのメソッドを書き換えます
そのメソッドを分類して修正してみましょう