asp.net-mvc – MVC – 它只是一个三层模型吗?
刚开始研究mvc,我还不确定是否已经掌握了它.从我收集的内容看来,它似乎是一个3层解决方案的实现,即Model对应于DAL,Controller对应于业务逻辑层,View对应于表示层.
我离开基地吗? 解决方法
我告诫不要将模型简单地视为数据访问层.这过于简单化,导致您将太多代码放入控制器层.如果将更多代码放在Model中,并使数据库持久性只是Model内部代码的一部分,那就更好了.我喜欢这样想MVC:
>控制器:处理输入,确定要实例化的模型和视图 这基本上是Page Controller模式. 另一种思考方式是:假设您必须将Web应用程序移植到另一个平台,例如命令行应用程序或桌面GUI应用程序.您应该重用哪些应用程序逻辑部分?当您将应用程序移植到另一个平台时,Controller和View会发生变化,因为输入和输出的实现都需要更改.不需要更改的代码应该在您的模型中实现. 如果你已经完成了关注点的分离,那么模型,视图和控制器将是最小耦合的,你可以改变一个的实现,而不会过多地影响其他的.如果更改模型并发现自己在Controller或View中重写了大量代码,则可能没有充分分离这些层.反之亦然. 阅读Martin Fowler的Anemic Domain Model反模式或Domain Driven Design Quickly以获得其他观点. 另请参阅我为响应人们谴责Active Record模式而写的blog from 2008.它得到了一些很好的评论和讨论. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
- asp.net-mvc-3 – 关于Razor中嵌套代码块声明的问题
- asp.net – 网站随时随地突破
- asp.net-mvc – 如何在Asp.net MVC 2中替换默认的ModelStat
- asp.net – 将更改部署到global.asax
- asp.net-mvc-3 – 在控制器动作中使用T4MVC生成URL
- ASP.NET Core 3.0 gRPC 双向流
- asp.net-web-api – 我可以在WebAPI messageHandler中使用A
- asp.net-mvc – 如何将401认证错误返回给RestSharp客户端?
- asp.net-mvc – 将一个属性与另一个属性进行比较的MVC数据注
- asp.net-mvc-3 – 哪里和如何定义我的asp.net MVC 3 web应用
- asp.net – 从URLReferrer获取querystring
- asp.net汉字转拼音和获取汉字首字母的代码
- asp.net – 如何阻止用户在新标签页或新窗口中打
- asp.net-mvc – 不一致的可访问性:DbContext中的
- asp.net-mvc – 如何从HttpContext获取JWT(使用O
- asp.net – 为customvalidator设置errormessage?
- asp.net-mvc – Kendo ASP.NET MVC – 索引超出范
- asp.net-mvc – Web api删除方法输入对象参数为n
- asp.net-mvc – 使用ASP.NET MVC /实体框架对POC
- asp.net – GridView中的数据格式设置,AutoGener