0

コントローラー(「メイン」と呼びましょう)と、一連の(10)機能を実行する関連モデルがあるとします。

メイン モデルに存在しない 1 つの関数を実行するために 2 番目のモデルを読み込む場合と、メイン モデルにその関数を追加する (コードを複製する) 場合の関連するオーバーヘッドについて疑問に思っています。

その 2 番目のモデルをロードする利点は、コードが少なくて済み、保守が容易なことです。

短所は、2 番目のモデルをロードするオーバーヘッドです。

オーバーヘッドに対する私の懸念は有効ですか? 私は CS の専門家ではなく、ここでのベスト プラクティスは何かを考えています。

ありがとう、ティム

4

2 に答える 2

5

繰り返さないでください。そうすれば、コードを維持することになると、人生が本来よりもずっと難しくなるだけです。優れた OOP の原則では、特定の責任範囲を持つクラスを作成し、そのクラスを使用して構築された状況を処理することをお勧めします。クラス X の機能をクラス Y に複製することは、この原則に違反します。クラス Y がクラス X が行うことを行う必要がある場合、これは、クラス Y がクラス X のインスタンスと対話する必要があるか、クラス Y がクラス X を継承する必要があることを意味します。

また、せいぜい他のクラスをロードすることによるパフォーマンスへの影響は無視できるはずであり、心配する必要はまったくありません。

于 2012-04-10T06:20:17.597 に答える
1

それはあなたがあなたのオブジェクトをどのようにインスタンス化するかに依存します。PHPクラスの場合、オブジェクトを作成するときに何をロードするかを定義できます(コンストラクターを参照)。ほとんどの場合、はい、保守のためにクリーンで明確なコードを用意する方が良いですが、ビジネス上の理由から、保守が難しい場合でも、一部のコードを複製する方がよい場合があります。私はここで開発者からの視点のみを読みました(私は1人です...)が、私の意見によれば、優れた開発者は常に機能/ビジネスを最初に考える必要があります。時々彼は何か汚い/速い/維持するのが難しいものをコーディングする必要がありますが、それはユーザーにとってはうまくいきます!

于 2012-04-10T06:16:40.393 に答える