在我的POSMVC2应用程序中,我有以下规范:我必须创建一个广泛使用JQuery的asp.net系统(所以我对这一部分的模式不感兴趣),并在我的模型中生成按时间段分类的销售和销售报告。此外,我需要生成订单的产品供应商。我有实体,如销售,产品,销售报告,采购订单和产品供应商。
我将使用实体框架,linq2Sql,自动映射程序和视图模型来传递信息到aspx页面。
我对模式的问题是,我理解互联网上的示例,但我几乎无法想象将其应用于我的模型。你认为有没有什么通用的模式可以应用到这个场景中?也许是一些使用任何模式的“相似”示例?
另一方面,在models类中编写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
....... }
提前感谢!
发布于 2011-04-03 01:31:00
我对模式的问题是,我通过互联网理解这些示例,但我几乎无法想象将其应用于我的模型。
尝试将低级设计模式与您所描述的高级概念相匹配是行不通的。为了开始编写低级软件,你必须解决这些高级别的问题:
一旦建立良好,您就可以开始处理一些事情,比如您的单个应用程序的高级体系结构、实现业务需求和交互所需的相应类,以及这些类之间的协作。
低层设计模式确实适用于这最后一块-单个类之间的协作,或类家族之间的协作。
当然,您可以始终尝试自下而上的方法,并在您的设计固化之前开始编写代码。但是,只有在您已经知道要使用哪些类以及它们需要如何交互的情况下,您才能应用模式。
换句话说,我必须查看您的代码来告诉您应该使用哪些低级设计模式。
您的描述的详细信息表明您已经在使用更高级的模式
这些组件中的每一个都自然地内置了大量的模式。例如,ORM、迭代器和MVC都是设计模式。
在models类中编写linq2sql语句是一种很好的做法吗
如果你只是从实践中拿出例子,那么你可能会避免它。出于某种原因,人们似乎喜欢多层应用程序中的普通旧对象。
然而,一些专家认为这种具有无代码域(模型)对象的非常常见的做法是反模式:请参阅http://en.wikipedia.org/wiki/Anemic_Domain_Model和http://www.martinfowler.com/bliki/AnemicDomainModel.html
https://stackoverflow.com/questions/5524479
复制相似问题