我目前正在使用C#编写ASP.NET MVC报表应用程序。这是一个PHP应用程序的重新设计,它刚刚被放在一起,现在开始获得更多的牵引力。因此,我们正在重新设计后端以获得更多面向对象的方法。我目前正在努力解决的一个问题是如何构建域对象。由于95%的网站是只读的,我不确定典型的方法是否切实可行。
我应该为应用程序的主要部分(故障单,分配,受让人)创建域对象,然后从这些区域创建静态方法来提取报告数据吗?或者我应该跳过该部分并创建图表数据类并从这些类中获得一些“获取”方法?它不是一个非常大的应用程序,目前我是唯一一个开发它的人。但我对于采取哪种方法感到很沮丧。我觉得第一个是更好的选择,但考虑到大多数用途是用于汇总报告,可能会过度。
有没有人对我为什么要采取这种或那种方式有一些很好的见解?
答案 0 :(得分:1)
我将采取的方法是首先绘制问题域的概念模型。我首选的方法是Object Role Modelling,但还有其他方法,例如实体关系建模。
然后我将从这个概念模型中导出我的对象模型。然后应该将问题域定义的行为添加到该模型中的对象,例如,将书籍添加到书店,从帐户中提取资金。
其他行为,例如将数据保存在数据库中,最终用户不会孤立地关注数据,应该将数据添加到为这些目的而创建的适当对象中,例如,一个unit of work对象,它将形成一个数据访问层(DAL)。
在这种情况下,MVC项目中的模型将由DAL扩充的域对象组成,并且应该自然地用于创建所需的视图和控制器。