关于.net开发里面MVC和三层架构的相关问题

碎梦灬 2019-03-13 04:06:46
开发一个程序用MVC+三层架构,那么它们的业务逻辑和功能实现具体是怎样完成的?
...全文
998 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
MVC 是指一遍遍地重新绑定整个(一块儿)视图模块的做法。当需要响应用户操作时,一遍遍地重新绑定,非常死板。 MVP 是指注入到每一个组件灵活处理,捕获事件,处理事件。大量使用手写代码编程实现。 MVVM 也是注入到每一个组建细节灵活处理,捕获和处理事件。所不同地是 MVVM 让你尽量不要编程,而是仅仅声明一下就好了。
  • 打赏
  • 举报
回复
引用 楼主 碎梦灬 的回复:
开发一个程序用MVC+三层架构,那么它们的业务逻辑和功能实现具体是怎样完成的?
就一个大一点点儿的系统来说,业务逻辑层是“三层架构”中的业务逻辑层,而 MVC 只是表现层的一种形式,也就是纯粹前端的东西。当然前端设计也必须体现业务逻辑层,但是前端业务逻辑毕竟不是三层架构概念中的业务逻辑层设计,而是表现层中的。要注意这个区别。业务逻辑设计是根本,不管你什么前端具体的开发语言、平台、表现形式,业务逻辑是根本性的控制策略。但是具体的前端设计由必须实现用户交互操作,就好像再好的建筑也需要最低级的建筑材料,所以同时要特别重视用户交互操作需求,一切以需求出发。 可以说,最好的设计师不论是设计前端还是实现三层架构,都能注重业务逻辑和交互设计。只不过他可以用各种形式、在各个不同阶段都能保持一致。而不是在各处仅仅纠结编程技术。
  • 打赏
  • 举报
回复
引用 11 楼 猪猪传奇 的回复:
[quote=引用 8 楼 sgyiliya的回复:]MVC,M是实体类,V是页面视图,C是后台代码(把实体类数据传递给前台页面)。 个人一点浅薄见解,供参考。
不是:模型,视图,控制器吗?模型是视图的抽象,控制器用于视图与后台交互 ----可能我理解有误[/quote] 你的理解没有问题!C 是 “控制器”,是有具体的机制的。如果把“后台代码”叫做C,那么就不是具体说明 MVC 模式了。 MVC 模式是单向绑定的,因此当用户交互操作时,需要不断地一遍遍重新绑定整个视图,这就是 MVC 与 MVP、MVVM的最根本区别。
紫魂一号 2019-03-15
  • 打赏
  • 举报
回复
没有什么严格的三层。mvc 和以前的三层所涉及的领域不一样。。 mvc - model 传递数据的载体。。view 展现数据。。。controller..控制数据通过那个视图展现
a271163 2019-03-15
  • 打赏
  • 举报
回复
只做过app
猪猪传奇 2019-03-15
  • 打赏
  • 举报
回复
引用 8 楼 sgyiliya的回复:
MVC,M是实体类,V是页面视图,C是后台代码(把实体类数据传递给前台页面)。 个人一点浅薄见解,供参考。
不是:模型,视图,控制器吗?模型是视图的抽象,控制器用于视图与后台交互 ----可能我理解有误🙄
xiaoxiangqing 2019-03-15
  • 打赏
  • 举报
回复
现在大部分系统都是3层,好维护一些
weixin_40645876 2019-03-15
  • 打赏
  • 举报
回复
好资料,感谢楼主
wanghui0380 2019-03-14
  • 打赏
  • 举报
回复
对于我们来说,那些东西就只相当于电饭锅,电炒锅,中国大菜刀,西洋水果刀,一样的东西。

做饭就是做饭,电饭锅只是一个工具,用它做饭按他的规矩,仅此而已。

对这个我们也问问么,你不会问,所以“不理不问啊不想”,进公司人家要求你那样用,你就那样用就行。他只是行为标准,不是思维标准。
wanghui0380 2019-03-14
  • 打赏
  • 举报
回复
“不理不问啊不想”

何处不3层?何处不mvc。

数据源--业务处理--展示结果?

我说
var b=list.where(p=>p.id=1).select(p=>new {id=xxx+p.id})

这就是3层,可以么?他难道不是list数据,where,select数据处理,b展示结果。



引用 2 楼 小眼聚光~ 的回复:
这样的话,貌似一般应该是正常的三层架构,MVC做为三层架构的UI层。


所以何处不3层,何处不mvc。UI说是mvc。那么微服务,rpc通讯,Actor模式,plink流式处理这些又叫什么。


大圈圈,小圈圈,一个圈圈套一个圈圈。大mvc里套小mvc,小mvc里自己在分3层,分的这3层里在各种套更小的mvc-

所以“不理不问啊不想”--------做你该做的事情,别试图给各种圈圈标记颜色,写程序不是玩“填图游戏”
秋的红果实 2019-03-14
  • 打赏
  • 举报
回复
三层的范围更大些,MVC仅指web系统 侧重点也不同,前者强调各层相互独立,MVC没有数据层吧 三层类似于网络七层协议,底层为上层提供服务,网络层调用数据链路层的功能,模拟如下

//模拟数据链路层1
private double divi1(int x,int y)
{
    return x/y;
}

//模拟数据链路层2
private double divi2(int x,int y)
{
    if(y!=0)
    {
        return x/y;
    }
    else
    {
        //启动容错机制,或返回特定值
    }
}

//模拟网络层
divi1(10,2); //可行
divi1(10,0); //不可行,此时需要修改divi1的代码,两层互相不独立

divi2(10,2);
divi2(10,0); //都可适应,调用参数任意改变,但divi2不变,互相独立

也许举例不当,欢迎指正
sgyiliya 2019-03-14
  • 打赏
  • 举报
回复
MVC,M是实体类,V是页面视图,C是后台代码(把实体类数据传递给前台页面)。 个人一点浅薄见解,供参考。
sgyiliya 2019-03-14
  • 打赏
  • 举报
回复
asp.net mvc里面就是比较好的可以学习这种思想的,可以看看这方面的教程。java里面的spring boot也有这个MVC的思想。
小眼聚光~ 2019-03-14
  • 打赏
  • 举报
回复
这样的话,貌似一般应该是正常的三层架构,MVC做为三层架构的UI层。
正怒月神 2019-03-14
  • 打赏
  • 举报
回复
虽然后来asp.net mvc出现了ajaxform,不过我没用过。 大概不用一遍遍刷新页面了吧。但是后台字段绑定前台数据这个毛病,应该还是有。 换句话说,一个前台可能根本不认识你写的Html.TextBoxFor()之类的东西。
正怒月神 2019-03-14
  • 打赏
  • 举报
回复
mvc是一种前后台分离的模式。 当然这里的mvc不是指asp.net mvc。 asp.net mvc还是具有了后台绑定数据到前台的毛病。 我个人还是感觉前台只关心数据怎么展示,后台关心数据怎么整合。 不过有人一定要用asp.net mvc但是前台是ajax提交,来证明asp.net mvc不是后台绑定数据性质的话, 那ashx就可以砸他一脸。 至于三层,这是划分业务和数据操作的地方。其实他和mvc一起用一点都没毛病。
正怒月神 2019-03-13
  • 打赏
  • 举报
回复
业务逻辑层实现。controller传递数据。

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧