在我的asp.net mvc 2应用程序中,我有以下规范: 我必须制作一个广泛使用JQuery的POS系统(因此我对这部分中的模式不感兴趣)并生成按时间划分的销售和销售报告,以便在我的模型中使用。 此外,我需要为产品提供商生成订单。 我有销售,产品,销售报告,采购订单和产品供应商等实体。
我将使用Entity Framework,linq2Sql,automapper和viewmodels将信息传递给aspx页面。
我的模式问题是我理解互联网上的例子,但我几乎无法想象应用于我的模型。 您是否认为可以应用于此场景的任何常见模式?也许使用任何模式的一些“相似”的例子?
另一方面,在模型类中编写linq2sql语句是一个好习惯吗? 例如,在Models / Sales.cs中获取销售清单是否正确?
public List<Sales> GetSales(DateTime Date1, DateTime Date2){
var sales = from item in data.Sales
where ((item.Date> Date1) && (item.Date< Date2)) &
select item;
//Rest of code
.......
}
提前致谢!
答案 0 :(得分:0)
模式的问题在于我理解互联网上的例子,但我几乎无法想象应用于我的模型
尝试将低级设计模式与您所描述的高级概念相匹配将无法正常工作。为了开始编写低级软件,你必须解决这些高级别问题:
一旦确定,您就可以开始处理各个应用程序的高级体系结构,实现业务需求和交互所需的相应类,以及这些类与每个类的协作。其他
低级设计模式确实适用于最后一部分 - 各个班级或班级家庭之间的合作。
当然,在设计固化之前,您始终可以尝试自下而上的方法并开始编写代码。但是,只有在您已经知道要使用哪些课程以及他们需要如何互动之后,您才能够应用模式。
换句话说,我必须查看您的代码,告诉您应该使用哪种低级设计模式。
您的说明详情显示您已使用更高级别的模式:
这些组件中的每一个都有自然内置的大量图案。例如,ORM,迭代器和MVC都是设计模式。
在模型类
中编写linq2sql语句是一个好习惯
如果您只从常规做法中获取示例,那么您可能会避免使用它。出于某种原因,人们似乎喜欢多层应用程序中的普通对象。
但是,一些专家认为将无代码域(模型)对象作为反模式这种非常常见的做法:请参阅http://en.wikipedia.org/wiki/Anemic_Domain_Model和http://www.martinfowler.com/bliki/AnemicDomainModel.html