首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >设计系统组织结构表示

设计系统组织结构表示
EN

Stack Overflow用户
提问于 2012-08-12 14:57:19
回答 1查看 499关注 0票数 0

我在乞求设计一个系统。它必须有一个非常灵活的结构来代表组织。

基本需求很简单:

  1. 具有容器的层次结构(组织单位)
  2. 容器将包含其他实体(包括其他容器),实体(如: )
    • 可以包含用户的组。
    • 历法
    • 等等。

  1. 此外,还要求根据结构便利许可和登记程序。
  2. 用户\组可以以不同的角色\权限注册到其他容器,这将为所有其他实体授予具有相同角色的权限,还可以为组和日历定义管理器。

最初的想法:

  1. 使用“复合”设计模式表示实体:
    • [接口] IEntity --> int ID,字符串名.

  1. 每个实体将实现相同的接口。
  2. 容器实体将保存将引用这些实体的子实体列表。
  3. 每个实体将持有一个“权限树”,该树将在leafs上保存用户列表,此树将表示用户作为管理器向实体注册的角色和方式。也就是说,如果用户通过一个组注册为所有者,树将显示: Owners > Group1 -> user 1。

Contemplation:

  1. 每个实体应该有自己的Delete\ Add方法吗?定义在接口级别,或者应该有一个不同的类,某种类型的"EntitiesManager“将处理所有添加、编辑和删除实体的任务。
  2. 如何对数据库进行建模以保存权限树信息?

我将很高兴听到任何关于这一主题的想法、更正、经验教训或建议。

提前谢谢..。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-08-13 09:06:32

对于你的思考,我建议如下:

  1. 假设您现在并不知道所有的实体,并且它们可能有非常不同的结构,那么您应该更好地在实体类中封装创建/删除的逻辑。使用更常见的带有默认实现的超类将是一个好主意。
  2. 关于许可树。您已经完成了实体模型吗?就您的情况而言,最好的方法是自顶向下的,当您已经拥有实体模型时,将实体模型映射到数据库模型比较简单:)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11923152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档