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 に答える