浏览 6578 次
锁定老帖子 主题:组织机构的设计,欢迎讨论
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2007-04-25
1 orgnode是一个树型结构 2 orgnodedefine是对组织机构树的层次定义 3 orgperson是建立在岗位之上的 4 总公司、分公司、部门、岗位是树的基本节点 5 需要区分是内部单位还是外部单位 6 部门之间存在上下级关系,部门内部有小的部门 7 可以根据名称的拼音第一个字母查找部门或者人员 8 changelog是对系统内变更的审计日志记录,考虑采用hibernate的监听器来实现 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2007-04-25
参考分析模式
|
|
返回顶楼 | |
发表时间:2007-04-26
岗位与人的关系是什么?
没看懂为什么这么设计 总公司、分公司、部门、岗位 这些东东有什么区别么非要设计成不同的类? |
|
返回顶楼 | |
发表时间:2007-04-26
抛出异常的爱 写道 岗位与人的关系是什么?
没看懂为什么这么设计 总公司、分公司、部门、岗位 这些东东有什么区别么非要设计成不同的类? 公司有法人、注册地址等信息。 岗位与人的关系使用了最简的模型,考虑复杂一点,有公司所有岗位表、部门设立岗位表、人担任岗位表。另外,区分主岗和副岗吗? 引用 2 orgnodedefine是对组织机构树的层次定义 没理解这句话。 |
|
返回顶楼 | |
发表时间:2007-04-26
“分析模式”里面有这个东西,可以直接搬过来用。
或者干脆来个Composition模式,这是最简单的,也够用了。 |
|
返回顶楼 | |
发表时间:2007-04-26
1 岗位与人是多对多
2 引用 总公司、分公司、部门、岗位 这些东东有什么区别么非要设计成不同的类? 为每一个级别下的orgnode指定类,是因为每一级的组织可能会存在更加复杂的耦合和特殊情况,作成统一的类可能会不利于扩展 |
|
返回顶楼 | |
发表时间:2007-05-18
这是一个纯粹的composite模式......
首先搂住的需求有问题。 既然是一个组织结构,就只有组成关系,而没有管理关系, 这样只能增加分析的难度。。。。。。 设计一: 把orgCorpotiation,orgCompany,orgDepartment,orgStation合并成树枝节点,把orgPerson当作叶子节点,这样很简单了 abstract:orgNode: 属性: Collection<orgNode> subNode;//所有的子节点 Collection<orgNode> manageNode;//所管理的节点 long id; String name; 在这里树枝节点可以继承orgNode... 叶子节点也可以继承orgNode...不过subNode=null;manageNode=null 这样就可以了。。。。。在这里我看不出orgCompany,orgDepartment...的区别。。。。。。。。 如果要查找,很简单,树的遍历算法。。。。。。。 在这里只能由父节点到子节点,不能由子节点到父节点。。。。。。 设计2:不要继承,一个类一个类写就可以了. company: Collection<department> dep; long id; String name; department: Collection<station> sta; long id; Stirng name; 类似这样处理,也没有几个类,就那么几个。。。。。。。。。。。 |
|
返回顶楼 | |
发表时间:2007-05-21
liudong9183 写道 这是一个纯粹的composite模式......
1 每一级组织机构的属性是不一样的,而且每一级可能存在不同的操作,因此进行了继承和重载首先搂住的需求有问题。 既然是一个组织结构,就只有组成关系,而没有管理关系, 这样只能增加分析的难度。。。。。。 设计一: 把orgCorpotiation,orgCompany,orgDepartment,orgStation合并成树枝节点,把orgPerson当作叶子节点,这样很简单了 abstract:orgNode: 属性: Collection<orgNode> subNode;//所有的子节点 Collection<orgNode> manageNode;//所管理的节点 long id; String name; 在这里树枝节点可以继承orgNode... 叶子节点也可以继承orgNode...不过subNode=null;manageNode=null 这样就可以了。。。。。在这里我看不出orgCompany,orgDepartment...的区别。。。。。。。。 如果要查找,很简单,树的遍历算法。。。。。。。 在这里只能由父节点到子节点,不能由子节点到父节点。。。。。。 设计2:不要继承,一个类一个类写就可以了. company: Collection<department> dep; long id; String name; department: Collection<station> sta; long id; Stirng name; 类似这样处理,也没有几个类,就那么几个。。。。。。。。。。。 2 不知道你的意思 |
|
返回顶楼 | |
发表时间:2007-05-21
翻翻书看看设计模式。。。。。
不要想当然的做设计。。。。。。。 不是为了设计而设计。。。。是为了使用而设计 楼主有将简单问题复杂化的趋势 。。。。。。。。 |
|
返回顶楼 | |