1

我有一个仪表板应用程序,用户可以在其中上下导航“业务实体”的层次结构并查看该实体的数据。

层次结构如下

       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; }
}

我应该如何为我的具体类建模以强加这种结构?

4

1 回答 1

0

我在这里担心的是,引用 IEntity 会消除引用具体类型列表的好处。如果一个部门只能包含部分,那么我将拥有一个属性是IList<Department>(或者IList<IDepartment>如果你是害羞的)。

恕我直言,开放和通用模型(IList<IEntity>)存在更多问题,不一定值得从它提供的灵活性中受益。

于 2013-03-27T08:18:13.390 回答