2011-04-29 57 views
1

我想建立一個網站,有幾個不同類型的用戶,如:設計模式的權限

  • 管理員 - 可以做的一切在網站上
  • 註冊用戶 - 可以做的一切在他的頁面上。
  • 未註冊用戶 - 只能查看網站。

有沒有適合這種情況的設計模式,它將如何應用於我的場景?

+0

取決於您使用的編程語言和框架。 – jgauffin 2011-04-29 18:19:34

回答

1

設計模式不是解決問題的靈丹妙藥。他們經過嘗試和測試,將合理的軟件工程實踐應用於代碼設計。

0

這是一種vaue的問題,但也許你可以看看狀態設計模式。當用戶只有讀取權限時,您加載只讀狀態類。當用戶具有寫入權限時,請使用寫入狀態類。

1

如果用戶執行的每個操作都可以映射到URI,那麼您可以有一個安全層或使用可以通過URI配置到角色映射以允許訪問的框架。

如果處於行爲級別,您可以在此處使用代理設計模式。當你想基於安全檢查進行失敗時,它會代理你的完整對象的實現。 但是,如果對象對不同用戶的行爲不同,則可以使用裝飾器實現來執行各種不同的方法。

如果您想要獲取可能在結構上更改的各種角色的不同版本的對象,那麼可以使用一系列的訪問者。訪客模式可能適用於此。