设计模式的权限
问题描述:
我想建立一个网站,有几个不同类型的用户,如:设计模式的权限
- 管理员 - 可以做的一切在网站上
- 注册用户 - 可以做的一切在他的页面上。
- 未注册用户 - 只能查看网站。
有没有适合这种情况的设计模式,它将如何应用于我的场景?
答
设计模式不是解决问题的灵丹妙药。他们经过尝试和测试,将合理的软件工程实践应用于代码设计。
答
这是一种vaue的问题,但也许你可以看看状态设计模式。当用户只有读取权限时,您加载只读状态类。当用户具有写入权限时,请使用写入状态类。
答
如果用户执行的每个操作都可以映射到URI,那么您可以有一个安全层或使用可以通过URI配置到角色映射以允许访问的框架。
如果处于行为级别,您可以在此处使用代理设计模式。当你想基于安全检查进行失败时,它会代理你的完整对象的实现。 但是,如果对象对不同用户的行为不同,则可以使用装饰器实现来执行各种不同的方法。
如果您想要获取可能在结构上更改的各种角色的不同版本的对象,那么可以使用一系列的访问者。访客模式可能适用于此。
取决于您使用的编程语言和框架。 – jgauffin 2011-04-29 18:19:34