程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> PHP面向對象分析設計的61條軍規

PHP面向對象分析設計的61條軍規

編輯:關於PHP編程

你不必嚴格遵守這些原則,違背它們也不會被處以宗教刑罰。但你應當把這些原則看成警鈴,若違背了其中的一條,那麼警鈴就會響起 。 ----- Arthur J.Riel

(1)所有數據都應該隱藏在所在的類的內部。

 

(2)類的使用者必須依賴類的共有接口,但類不能依賴它的使用者。

 

(3)盡量減少類的協議中的消息。

 

(4)實現所有類都理解的最基本公有接口[例如,拷貝操作(深拷貝和淺拷貝)、相等性判斷、正確輸出內容、從ASCII描述解析等等]。

 

(5)不要把實現細節(例如放置共用代碼的私有函數)放到類的公有接口中。

 

如果類的兩個方法有一段公共代碼,那麼就可以創建一個防止這些公共代碼的私有函數。

 

(6)不要以用戶無法使用或不感興趣的東西擾亂類的公有接口。

 

(7)類之間應該零耦合,或者只有導出耦合關系。也即,一個類要麼同另一個類毫無關系,要麼只使用另一個類的公有接口中的操作。

 

(8)類應該只表示一個關鍵抽象。

 

包中的所有類對於同一類性質的變化應該是共同封閉的。一個變化若對一個包影響,則將對包中的所有類產生影響,而對其他的包不  造成任何影響 .

 

(9)把相關的數據和行為集中放置。

 

設計者應當留意那些通過get之類操作從別的對象中獲取數據的對象。這種類型的行為暗示著這條經驗原則被違反了。

 

(10)把不相關的信息放在另一個類中(也即:互不溝通的行為)。

 

朝著穩定的方向進行依賴.

 

(11)確保你為之建模的抽象概念是類,而不只是對象扮演的角色。

 

(12)在水平方向上盡可能統一地分布系統功能,也即:按照設計,頂層類應當統一地共享工作。

 

(13)在你的系統中不要創建全能類/對象。對名字包含Driver、Manager、System、Susystem的類要特別多加小心。

 

規劃一個接口而不是實現一個接口。

  • 共4頁:
  • 上一頁
  • 1
  • 2
  • 3
  • 4
  • 下一頁

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved