这个困惑存在好长时间了,就我现在知道的orm方面的框架有linqtosql nhibernate ado.netEF。还是那个model的问题,主要以前用的是三层结构,有一个单独的model项目,现在如果要用linq to sql 和Ado.net EF自动把model生成好了而且这个模型数据访问等方法都有了,这样UI层如果想用model,也得引用dal的项目,感觉比较混乱,但看过网上的一个例子,还真是这么做的,这个例子中ado.netEF生成的modle,用来在服务层之间传输.刚才看了nhibernate的简介,好像他可以生成自己的model,可以实现分层。 我的疑问主要是该不该在model里他加上数据访问的方法。难道orm要和三层冲突吗?
3 回答
慕斯卡1413621
TA贡献6条经验 获得超0个赞
Bee是一种开发速度和开发成本都不比php差的Java ORM框架,
而且它的编码复杂度是O(1),即用了Bee,你可以不用另外再写dao代码。
不知.net平台,现在有没有编码那么高效的框架?
慕桂英4014372
TA贡献1871条经验 获得超13个赞
框架没有正确错误之分,只有是否合适之分。有人使用贫血模型(只有属性,没有方法),CRUD操作在单独的数据访问类中实现,有人使用充血模型,将CRUD放在模型内部,孰优孰劣?这是没法下定论的。我们能讨论的只能是,根据当前系统规模、业务需求等条件来判断那种设计方案更合适,而已。
如果是初学者,我建议使用贫血模型,将Model层与DAL层分离开,Model作为实体模型和数据传输对象,可以为各个层所引用。
等熟悉了各种架构,再学习如何设计复杂的领域模型。
- 3 回答
- 0 关注
- 440 浏览
添加回答
举报
0/150
提交
取消