在我的公司,我们即将使用ASP.NET MVC构建一个新站点.我的老板(营销人员)想要了解更多有关该技术的信息,所以我试图找到一个非常好的,简单的和教学的MVC概念演示,没有任何运气.他们中的大多数在编程方面需要相当多的基础知识.
有关视频,幻灯片或其他内容的任何建议吗?
Sco*_*son 19
Craig Strong有一篇关于MVC的非常好的文章以及如何解释它对业务的好处.在这里查看:更新链接.
用外行的术语定义MVC
请记住,你是技术头脑并且接近代码.MVC对你来说就像白天一样清晰,但对商家说"模特,视图,控制者"可能会让他们觉得你患有某种形式的抽动症.即使在您根据代码定义它们之后,MVC对业务也没有多大意义.为了让企业理解为什么这是答案,而最不重要的是,在我的经验中,这可能比预期更重要.甚至一些开发人员也偶尔难以理解这一点.
为了让听众了解MVC是什么以及它为什么起作用,我在传递中尝试的是将MVC应用于听众有更多参与的不同行业.这个例子在过去与我的财产甚至车辆相比都对我有用.大多数人都与建筑商,木匠,水管工,电工打交道,或者看过电视上的大量房产展.这种体验是一个很好的平台,可以解释为什么像MVC这样的分离工作.我知道你可能认为这不会起作用,因为它与软件不一样,但请记住,你并不是想把业务培训成为开发人员或者对MVC有深入的了解,只是向他们解释分离在生产中是必需的,这就是MVC结构提供的.
为了举例说明如何描述这一点,我非常简要地解释了分离在财产中的作用.请记住,这是专注于使用未开发的系统,这可能是一个完全不同的解释角度.
视图
MVC中的视图是表示层.这是产品的最终用户将看到并与之交互的内容.系统可以具有从命令行输出到呈现的HTML的所有不同类型的多个视图.在大多数清晰的设计中,视图不包含业务逻辑.界面适合用途,是交互的领域.因此,您可以简单地为消费者输出HTML,以便与企业进行交互或输出SOAP/XML.两者都使用系统背后的相同业务逻辑,也称为模型和控制器.
在财产世界中,您可以将视图视为财产的内部或居民与之相互作用的财产的外层.内部可以根据目的进行定制,同一物业可以有许多不同类型的租户.例如,特定设计的属性可以包含住宅.相同的内部空间可以很容易地用作办公空间,尽管在同一个房产中有不同的用途.但是房产结构是一样的.因此,用户交互的环境不会干扰建筑物的结构.
控制器
控制器是魔术发生的地方,并定义了业务应用程序逻辑.这可能是用户从视图发送响应的位置,然后此响应用于处理请求的内部工作并将响应处理回用户.在用户请求购买书籍的情况下进行典型响应.控制器具有用户ID,付款详细信息,送货地址和项目选择.然后通过业务逻辑处理这些元素以完成购买.数据通过系统传递到模型层,最终在整个请求满足业务定义后,构造订单并且用户收到他们的项目.
如果我们将其与房产进行比较,我们可以将在线图书的订购与打开电灯开关进行比较.租户会像订购书籍一样轻弹开关.交换机本身是视图层中的一个元素,它将请求发送到控制器,就像单击网站上的结帐按钮一样.在这种情况下,业务逻辑是电工安装并嵌入到财产设计中的.轻弹开关,完成电路.电流贯穿所有电线,包括保险丝盒直接通向灯泡.就像收到书的用户一样,在这种情况下,租户会收到光.租户无法看到涉及电力布线的幕后整个过程.它们只是与空间内的交换机进行交互,控制器从那里处理请求.
楷模
MVC中的模型是最底层的,并处理系统的核心逻辑.在大多数情况下,这可以被视为与数据源交互的层.在使用MVC的系统中,控制器将信息传递给模型以存储和检索数据.继上面的控制器定义示例之后,这是存储订单详细信息的位置.其他数据,如库存水平,书籍产品的物理位置等,都存储在这里.如果这是订购的库存中的最后一本书,则该项目的下一个请求可能会检查它是否可用,并且由于该项目不再可用而不允许该订单.
坚持打开灯开关的例子,我们结构中的这个级别可能是电力供应.当租户轻弹开关时,内部电路必须请求电力来为请求供电,这在用户从数据库请求数据时是类似的,因为需要数据来处理请求.如果住宅未连接到电源,则无法完成此过程.使用MVC带来的商业利益
在得到解释MVC的信息之后,您将必须看到可以从中获得哪些好处.我不打算在这里详细介绍我确信你可以更准确地应用与你的实际情况直接相关的好处.要列出基于MVC的系统的一些常见好处,这里有几个例子:
- 不同的技能水平可以在不同的系统级别上工作 例如,设计人员可以使用非常少的开发知识来处理接口(View),开发人员可以在很少关注设计级别的情况下处理业务逻辑(Controller).然后他们完成整合.
- 由于上述分离项目可以更容易和更快地进行管理.设计人员可以在开发人员之前启动接口,反之亦然.该开发过程可以是并行的,而不是顺序的,因此减少了开发时间.
- 使用相同的业务逻辑轻松拥有多种视图类型.
- 通过系统清除路线.您清楚地知道系统的不同级别.通过清晰的系统路径,可以共享和改进逻辑.这增加了安全性,因为您清楚地知道从数据到用户的允许路由,并且可以在路由上进行明确的安全检查.
- 每一层都对自己负责.(与第1点相关)这意味着您可以拥有干净的文件结构,与可能具有大量重复逻辑的紧密耦合系统相比,可以更轻松,更快速地维护和管理.
- 具有清晰的结构意味着开发将更加透明,如果应用得当,应该可以缩短开发时间,维护问题和发布周期.
MVC把它看成是:"订单详细信息(包括客户和员工信息)","HTML/ASP表(可显示订单明细)"和"订单细节服务类(有方法来SaveOrderDetails,GetOrderDetails等).
的模型(数据例如类的OrderDetails)
所述控制器(服务类)
该视图(ASP页)
| 归档时间: |
|
| 查看次数: |
12872 次 |
| 最近记录: |