ホームページ  >  記事  >  バックエンド開発  >  phpオブジェクト指向のスキル

phpオブジェクト指向のスキル

WBOY
WBOYオリジナル
2016-06-13 13:27:031123ブラウズ

PHP オブジェクト指向スキル

(1) すべてのデータは、それが配置されているクラス内に隠蔽される必要があります。
(2) クラスのユーザーはクラスの共有インターフェースに依存する必要がありますが、クラスはそのユーザーに依存することはできません。
(3) クラスプロトコル内のメッセージを最小限に抑えます。
(4) すべてのクラスが理解できる最も基本的なパブリック インターフェイス [たとえば、コピー操作 (深いコピーと浅いコピー)、等価性の判断、正しい出力内容、ASCII 記述からの解析など] を実装します。
(5) 実装の詳細 (共有コードを配置するプライベート関数など) をクラスのパブリック インターフェイスに含めないでください。
クラスの 2 つのメソッドに共通のコード部分がある場合、その共通コードを防止するプライベート関数を作成できます。
(6) ユーザーが使用できないものや興味のないものでクラスのパブリック インターフェイスを妨害しないでください。
(7) クラス間の結合はゼロであるか、派生結合関係のみが存在する必要があります。つまり、あるクラスは別のクラスとまったく関係がないか、別のクラスのパブリック インターフェイスでの操作のみを使用します。
(8) クラスは 1 つのキー抽象化のみを表す必要があります。
同じタイプのプロパティの変更に対しては、パッケージ内のすべてのクラスを共同で閉じる必要があります。変更がパッケージに影響を与える場合、そのパッケージ内のすべてのクラスに影響しますが、他のパッケージには影響しません

(9) 関連するデータと行動を一元管理します。
設計者は、get などの操作を通じて他のオブジェクトからデータを取得するオブジェクトを認識する必要があります。このタイプの動作は、この経験原則に違反していることを意味します。
(10) 関係のない情報は別のカテゴリーに入れる(つまり、コミュニケーションをとらないという行為)。
安定性への依存性
(11) モデル化する抽象概念が、オブジェクトが果たす役割だけではなく、クラスであることを確認してください。
(12) システム機能を水平方向にできるだけ均一に分散します。つまり、設計に従って、最上位クラスは作業を均一に共有する必要があります。
(13) システム内に全能のクラス/オブジェクトを作成しないでください。 Driver、Manager、System、および Susystem を名前に含むクラスには特に注意してください。
インターフェイスを実装するのではなく、インターフェイスを計画します。


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。