簡體   English   中英

在OOP中建模MN關系

[英]Modeling a M-N Relationship in OOP

這是我在這里可以找到的最接近我的問題的東西

我正在開發一個項目,並且想為其添加安全模型,因此,由於我有第一手經驗,因此決定首先進入編碼和跳過計划階段是多么糟糕。 所以我創建了一個ERD,一直很酷,然后UML類圖,自大學以來就沒有做過其中之一,好一點的google,去吧。

在這里查看ERD和UML類圖

上面的圖像是到目前為止的內容,我知道我當然需要一個User Class和Permission Class,但是我不確定如何處理兩者之間的關系。 我一般都知道,在MN關系中,您可以使用相關類的集合的屬性對其進行建模,但是相關類的屬性又如何呢? 以下是我的最佳猜測,如果有人有更正,注釋或指向閱讀材料的鏈接,那將很棒。 我的目標是提前正確執行OOP。

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 */      
}
  • 您可以將這些數組直接返回為數組或列表。 但這不是那么重要。

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

  • 同樣,每個User都應該具有其UserPermission ,每個權限也應具有其UserPermission

  • 而且User應該沒有UserPermission的數組。 它們的關聯為1:n,其中n在用戶側。 這意味着: UserPermission具有多個User ,User具有1 UserPermission

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM