对业务层次结构建模
本文关键字:建模 层次结构 业务 | 更新日期: 2023-09-27 18:05:57
我有一个仪表板应用程序,用户可以在'业务实体'的层次结构中上下导航,并查看该实体的数据。
层次结构如下
Company
| |
Office DepartmentGroup
|
| Department
|
Section
|
Employee
如何使用对象最好地建模。我有一个想法,我将有一个IEntity接口,如:
public interface IEntity
{
int EntityKey { get; set; }
string EntityCode { get; set; }
string EntityName { get; set; }
List<IEntity> Children { get; set; }
List<IEntity> Parents { get; set; }
}
我应该如何建模我的具体类来强加这个结构?
我担心的是,引用IEntity会取消引用具体类型列表的好处。如果一个部门只能包含section,那么我将有一个属性是IList<Department>
(或IList<IDepartment>
,如果你是害羞的承诺)。
我认为,开放和通用模型(IList<IEntity>
)存在更多问题,这些问题不一定值得它提供的灵活性带来的好处。