设计模式的权限

问题描述:

我想建立一个网站,有几个不同类型的用户,如:设计模式的权限

  • 管理员 - 可以做的一切在网站上
  • 注册用户 - 可以做的一切在他的页面上。
  • 未注册用户 - 只能查看网站。

有没有适合这种情况的设计模式,它将如何应用于我的场景?

+0

取决于您使用的编程语言和框架。 – jgauffin 2011-04-29 18:19:34

设计模式不是解决问题的灵丹妙药。他们经过尝试和测试,将合理的软件工程实践应用于代码设计。

这是一种vaue的问题,但也许你可以看看状态设计模式。当用户只有读取权限时,您加载只读状态类。当用户具有写入权限时,请使用写入状态类。

如果用户执行的每个操作都可以映射到URI,那么您可以有一个安全层或使用可以通过URI配置到角色映射以允许访问的框架。

如果处于行为级别,您可以在此处使用代理设计模式。当你想基于安全检查进行失败时,它会代理你的完整对象的实现。 但是,如果对象对不同用户的行为不同,则可以使用装饰器实现来执行各种不同的方法。

如果您想要获取可能在结构上更改的各种角色的不同版本的对象,那么可以使用一系列的访问者。访客模式可能适用于此。