这是场景,我正在使用 csla 3.8 / c#.net 开发应用程序,该应用程序将具有不同的模块。它就像一个ERP,它将有会计、每日时间记录、招聘等模块。
现在的要求是检查每个模块的公共实体并从中构建一个“平台”(<-老板这样称呼它)。例如,DTR 将有一个实体“员工”,Recruitment 将有一个“申请人”,因此您可以从这两个实体中派生出一个可以放入平台的通用实体是“人员”。“人”将包含典型的信息,如姓名、地址、联系信息等。
我知道这听起来像 OOP 101。问题是,我不知道该怎么做。我多么希望它只是一个简单的继承,但要求就像创建某种 API 以供使用 CSLA 的模块使用。
在 csla 中,您可以正确地创建智能对象,从 csla 的基类(如 businessListbase、readonlylistbase 等)继承,对吗?例如,如果我创建了一个 businessbase 申请人类,它将具有工资需求、可用日期等属性。现在对于个人信息,我将需要来自“平台”的“人”并将其实施到申请人类。
所以总而言之,我有几个问题:
- 如何打造这样的平台?
- 如果这样的平台是可能的,它将如何在每个模块的实体上实现?(我已经从 csla 的基类继承)
- 如果 incase 1 和 2 是可能的,它对应用程序的开发和维护有优势吗?
我问#3的原因是因为我看到它的方式,即使我能够为此创建一个平台,我也需要在我的模块实体上定义平台实体的属性,以便进行验证和所有.