首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在CSLA之上创建一个平台?<--如果有道理的话

如何在CSLA之上创建一个平台?<--如果有道理的话
EN

Stack Overflow用户
提问于 2010-03-11 10:15:04
回答 2查看 327关注 0票数 1

这里是一个场景,我正在使用CSLA3.8/ c#.net开发一个应用程序,这个应用程序将有不同的模块。它就像一个ERP,它将有会计,每日时间记录,招聘等作为模块。

现在的要求是检查每个模块的公共实体,并从它构建一个“平台”(老板这样称呼它)。例如,DTR将有一个实体"employee",招聘将有“申请者”,因此您可以从平台中派生出的一个共同实体是"Person“。“人”将包含典型的信息,如姓名、地址、联系方式等。

我知道听起来像是101。问题是,我不知道该怎么做。我多么希望它只是一个简单的继承,但是需求就像创建一个API,供使用CSLA的模块使用。

在csla中,正确地创建智能对象,继承csla的基类,如businessListbase、readonlylistbase等,对吗?例如,如果我创建了一个业务基础申请者类,它将具有诸如薪资需求、可用性日期等属性,用于个人信息--我将需要"platform“中的"Person”并将其实现到申请者类。

总之,我有几个问题:

  1. 如何创建这样的平台?
  2. 如果这样的平台是可能的,它将如何在每个模块的实体上实现?(我已经继承了csla的基类)
  3. 如果incase 1和2是可能的,那么它在应用程序的开发和维护方面有优势吗?

我问#3的原因是因为我认为,即使我能够为此创建一个平台,我也需要在我的模块实体上定义平台实体的属性,以便进行验证。

EN

回答 2

Stack Overflow用户

发布于 2010-03-22 11:07:05

您对从基类继承是正确的。

  1. 我会从设计你的基本实体开始,而不包括任何关系。然后,我将创建从新创建的实体继承的类,并添加从数据库(通过FK关系)从父实体提取的子属性。我还建议您查看一下我们的CSLA 3.8.2模板。它们既有VB.NET的味道,也有C#的风格,这将使这项任务更加容易。
  2. 是的,这可能是,只需遵循#1中列出的步骤。
  3. 我不知道它的优点或缺点,但它应该很容易维护在未来。派生类可以在基类的规则之上添加规则/完全控制基类的规则。

谢谢-Blake Niemyjski (CodeSmith CSLA模板的作者)

票数 1
EN

Stack Overflow用户

发布于 2010-08-05 09:43:54

"platform“实体(现在我们称之为Generics )的主要目的是代码重用,因此,当我们在未来添加模块(如会计或购买)时,我们可以使用这些通用模块。

最后,我的解决方案是确定多个模块将使用的对象,并将其分离到不同的项目中,以便其他模块只在需要对象时使用该项目。

至于我的第一个例子,申请人(招聘),雇员(每日时间记录)和人(“平台”)。所发生的是人被放进了普通的BO程序。申请人和雇员都只是使用person BO作为子财产。

谢谢你的回复布莱克。顺便说一句,我们真的在用密码匠来做这个。还是谢谢你的建议。干杯!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2424069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档