2011-01-06 62 views
2

我目前正在使用C#编写ASP.NET MVC报告应用程序。这是一个PHP应用程序的重新设计,它刚刚被放在一起,现在开始获得更多的牵引力。所以我们正在对后端进行改造以获得更多的面向对象方法。我目前正在琢磨的一个决定是如何构建域对象。由于95%的网站是只读的,我不确定典型的方法是否实用。对象模型设计选择

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

有没有人有一些很好的见解,为什么我应该这样或那样?

+0

是PHP OO吗?未来会有多少发展?也请参阅http://stackoverflow.com/questions/246808/when-is-object-oriented-not-the-correct-solution – 2011-01-06 01:50:21

+1

不,它不是任何意义上的00这个词。它是一个暴行。只是一堆字符串操作。 – spinon 2011-01-06 17:11:51

回答

1

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

然后我会从这个概念模型中派生出我的对象模型。应该将问题域定义的行为添加到此模型中的对象中,例如,向书店添加一本书,从账户中提取资金。

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

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