2014-02-12 59 views
1

一個MN的關係這是我能找到我的問題上here建模OOP

我工作的一個項目,最接近的事情,我想在安全模式添加到它,所以,因爲我有經驗者優先如何跳入編碼並跳過規劃階段是我決定先做的。所以我創建了一個ERD,一直都很酷,然後是UML Class Diagram,自大學以來就沒有做過這些,還有一點點google,就這麼做吧。

見ERD和UML類圖Here

上面的圖片是什麼,我至今一使出,我知道我肯定需要用戶類和權限類,但我不知道該如何處理兩者之間的關係。我通常在M-N關係中知道你用一個屬性來建模它,這個屬性是相關類的集合,但是相關類的屬性呢?下面是我最好的猜測,如果有人有更正,評論或鏈接材料閱讀,這將是非常棒的。我的目標是提前正確實施面向對象編程。

class User{ 
    private $id; 
    private $password; 
    private $active; 
    private $permissions; 
    /* skip getters and setters */ 

    function getUserPermissions(){ 
     return UserPermission[]; 
    } 

} 

class UserPermission{ 
    private $id; 
    private $deny; 
    private $grant; 
    private $active; 
    /* skip getters and setters */ 

    function getPermissions(){ 
     return Permission[]; 
    } 
} 

class Permission{ 
    private $id; 
    private $name; 
    private $description; 
    private $active; 

    /* skip getters and setters */  
} 

回答

1
  • 你可以有你直接返回,數組或列出了這些陣列。但這並不重要。

  • 更重要的是,每一個UserPermission,這是一類的關聯,應該有User數組的和Permission數組的。

  • 此外,每個User應該有他的UserPermission,每個權限也應該有它的。

  • User應該沒有數組UserPermission's。他們的關聯是1:n,n在用戶一側。這意味着:UserPermission有很多User's,用戶有1 UserPermission