首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >MVC应用程序结构

MVC应用程序结构
EN

Stack Overflow用户
提问于 2014-10-09 18:55:53
回答 1查看 52关注 0票数 0

因此,我是MVC的新手,在So和一些博客上读过几十个类似的问题。我无法理解如何构造我的应用程序。要么是我不明白,要么是人们对如何做这件事有不同的看法。下面是我的具体简单示例:登录屏幕和帐户创建屏幕。

根据我的理解,我应该有以下几点:

视图简单在本例中为两个视图

模型两个视图模型。登录有用户名和密码。注册有用户名,密码,电子邮件等。只有属性没有方法。

控制器通过调用服务层(如CreateUser() )来构建视图模型

business/service单独的项目。具有与数据库交互和应用业务逻辑的方法。由控制器调用,将输出转换为视图模型格式。该项目有自己的模型/类,不与特定视图相关联。该层中的CreateUser()将调用db上的存储过程

这是正确的流程吗?而且,当从业务层返回数据时,我不应该使用视图模型。那么,我是否在业务端创建另一组类似于数据库中逻辑实体的模型?

EN

回答 1

Stack Overflow用户

发布于 2014-10-09 18:59:09

这听起来很合理。关于单独的模型和视图模型的要点是一个一般性的建议,以避免服务层和UI之间的紧密耦合。这意味着多个应用程序可以使用这些服务,即使它们的UI屏幕不同。不过,我确实认为,在某些情况下,如果视图模型成为模型的镜像,跳过视图模型是有意义的。只有当视图模型在为视图准备数据(格式化等)时添加某种价值时,我才会创建视图模型。

然而,有些人可能会声称,您应该始终创建视图模型--即使是那些反映模型的模型。我也能理解这个论点,因为它与避免UI和服务之间的耦合有关,这使得您能够在不改变到UI链的情况下发展服务。你必须做出判断,这对你来说有多重要,因为这是以一个在相同物体之间“轮渡”值的层为代价的。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/26291237

复制
相关文章
Spring MVC核心应用
@PathVariable主要用于接收http://host:port/path/{参数值}数据。
xiaozhangStu
2023/05/04
2020
AS3 mvc应用
          在程序开发中,为了降低程序的耦合度,我们经常会对程序进行模式化,这一节中,我们介绍MVC的设计模式,MVC由三层结构构成,分别是视图器(view),模型器(model),控制器(control)。视图器view的作用是显示对象,即我们肉眼看到的元素。而视图器需要的数据我们把它放到模型器model里,那如何操作这些数据呢,这便涉及到我们的逻辑,我们把这部分的程序放进控制器control里。所以,实际上是控制器control在操作模型器model,使其发生数据的改变,而引起model发出相应的事件,视图器view侦听到这些事件时相应的改变视图。应用MVC的结构可以让我们的程序更加有条理更加清晰。下面是一个MVC的小例子。由三个类跟一个文档类构成:
py3study
2020/01/06
5470
Python程序结构
4种流程控制语句结构: if if -- else if -- elif --else if多条件
潇洒坤
2018/09/10
1.2K0
Flink 程序结构 上篇
整个 flink 程序一共有五步,分别是:创建 Flink 执行环境、创建或加载数据、对数据集进行转换操作、指定计算结果输出位置、调用execute方法触发执行。
kk大数据
2019/09/27
6310
Flink 程序结构 上篇
C语言程序结构0
顺序结构可以独立使用构成一个简单的完整程序,不过大多数情况下顺序结构都是作为程序的一部分,与其它结构一起构成一个复杂的程序,例如分支结构中的复合语句、循环结构中的循环体等。
用户6755376
2020/03/24
1.6K0
Python程序结构2
上面一段代码的运行结果如下,从下面的结果可以看出速度差距为2、3倍左右,当数据量更大时,可能差距更大。:
潇洒坤
2018/09/10
4360
Python程序结构2
Flink 程序结构 下篇
Flink 的某些转换算子,如 join、coGroup、groupBy 算子,需要先将 DataStream 或 DataSet 数据集转换成对应的 KeyedStream 或 GroupedDataSet,主要目的是将相同的 key 值的数据路由到相同的 pipeline 中,然后进行下一步的计算操作。
kk大数据
2019/09/29
5030
python基础(3)—— 程序结构
    python和其他的编程语言一样,也有三种程序结构。顺序结构,选择结构,循环结构。
py3study
2020/01/06
4260
java---程序结构(上)
2、选择结构(分支结构),程序从main方法开始从上到下这时有了选择的条件,让程序根据条件进行选择走哪条路,意思就是有的代码会执行,有的代码呢不会执行
用户10787181
2023/10/17
2350
[Python] 程序结构与控制流
如果不需要执行任何操作,可以省略条件语句的else和elif子句。如果特定子句下不存在要执行的语句,可以使用pass语句。
py3study
2020/01/14
8170
JavaSE入门篇:程序结构
二、选择结构:从名字就能看出,要选择嘛,到底是要漂亮滴妹子,还是要有钱滴妹子呢!当然,如果是个吊丝码农滴话,那你就不要多想了,还是老老实实码代码吧···
Java团长
2018/09/27
4540
JavaSE入门篇:程序结构
JavaScript初探 四 (程序结构)
JavaScript 结构 JavaScript 程序结构 JavaScript支持几乎和C语言一样的程序结构 分支结构 循环结构 分支结构 条件分支 if…else if语句:判断条件为true则执行if的代码块,为false则执行其他代码块 else语句:当if语句的条件为false时则执行本语句的的代码块 else if语句:当if语句的条件为false时执行本语句的if规定的代码块 条件分支 switch switch执行判断的条件,然后执行case代码块 case根据switch的条件规定执行c
Mirror王宇阳
2020/11/12
3480
典型的PLC程序结构
本文介绍了PLC程序结构及其特点,包括主程序、子程序和中断程序等,并说明了S7-200、S7-300和S7-400的局部变量和全局变量、结构化编程和子程序的应用场景。
企鹅号小编
2018/01/04
1.3K0
典型的PLC程序结构
java---程序结构(下)
进入while之后进行条件判断,条件为真时执行while后面大括号中的代码,这里的代码执行完后会返回到while条件继续判断,如果条件为假,结束循环的执行
用户10787181
2023/10/17
2110
java---程序结构(下)
速读原著-Android应用开发入门教程(使用OpenGL图形接口的程序结构)
在 Android 中,可以直接支持 3D 图形的绘制,主要使用 OpenGL 标准的类javax.microedition.khronos.egl,但是需要结合 Android GUI 系统使用。Android 中 OpenGL 接口使用的结构如图所示:
cwl_java
2020/02/13
7060
Kotlin学习笔记(三)-程序结构(下 )
继续讲下程序结构,这部分相对简单,有时候可能会比较啰嗦,笔记嘛!就是在学习过程中我遇到的问题,作为记录。大家没有遇到问题更好。有些是个人理解,有更好的理解欢迎在评论。
g小志
2019/12/19
6800
EMLOG程序结构介绍 module.php
在emlog程序中的 module.php文件是EMLOG模板的公共代码,包含侧边widgets、评论、引用、编辑等,现在就来对EMLOG模板结构中的echo_log.php进行单独解析。 module.php文件由若干函数组成,一般来说这个文件必须存在,被个人博客前台文件调用,可在内自定义函数实现更多功能,因为几乎所有前台显示的内容都由此文件管理。
用户8099761
2023/05/11
2320
R中的程序结构(for,while,repeat)
1、程序结构-for循环 1:5 for(i in 1:5) print(i) ss <- seq(from=1, to=10, by=0.1) for(s in ss) { print(s) } df = data.frame( age=c(21, 22, 23), name=c('KEN', 'John', 'JIMI'), stringsAsFactors = FALSE ); #如果用in进行遍历data.frame,那么默认按列遍历 for(l in df) { pr
Erin
2018/01/09
8480
点击加载更多

相似问题

ASP.NET MVC应用程序结构

20

应用程序结构

30

MVC 5和角2多个"Siloed“应用程序结构顾问

512

关于ASP.NET MVC应用程序结构的建议

20

Android应用程序结构

11
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
社区富文本编辑器全新改版!诚邀体验~
全新交互,全新视觉,新增快捷键、悬浮工具栏、高亮块等功能并同时优化现有功能,全面提升创作效率和体验
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文