【问题标题】:Object model design choice对象模型设计选择
【发布时间】:2013-06-11 18:28:49
【问题描述】:

我目前正在使用 C# 开发 ASP.NET MVC 报告应用程序。这是对 PHP 应用程序的重新设计,该应用程序最初只是组合在一起,现在开始获得更多关注。因此,我们正在重新设计后端以采用更多面向对象的方法。我目前正在努力的决定之一是如何构造域对象。由于 95% 的网站是只读的,我不确定典型的方法是否实用。

我是否应该为应用程序的主要部分(票证、分配、受让人)创建域对象,然后从这些区域创建静态方法以提取报告数据?或者我应该跳过那部分并创建图表数据类并从这些类中获得一些“get”方法?这不是一个非常大的应用程序,目前我是唯一一个开发它的人。但我对采取哪种方法感到不安。我觉得第一个是更好的选择,但考虑到大多数用途是用于汇总报告,因此可能有点矫枉过正。

有没有人对我为什么要走这种或另一种方式有很好的见解?

【问题讨论】:

标签: c# oop class-design


【解决方案1】:

我将采取的方法是首先绘制问题域的概念模型。我的首选方法是Object Role Modelling,但还有其他方法,例如实体关系建模。

然后我会从这个概念模型中导出我的对象模型。然后应将问题域定义的行为添加到此模型中的对象中,例如将一本书添加到书店,从帐户中取款。

其他行为,例如将数据持久保存在数据库中,最终,用户不会孤立地关心这些数据,应该将其添加到为这些目的创建的适当对象中,例如unit of work 对象,它将形成数据访问层 (DAL)。

在这种情况下,您的 MVC 项目中的模型将包含由 DAL 增强的域对象,并且应该自然地用于创建所需的视图和控制器。

【讨论】:

    猜你喜欢
    • 2021-07-03
    • 2015-10-10
    • 1970-01-01
    • 2014-03-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多