MVC模式夜雨竹林

MVC英文即Model-View-Controller,即把一个应用的输入、处理、输出流程按照Model、View、Controller的方式进行分离,这样一个应用被分成三个层——模型层、视图层、控制层。

控制(Controller)可以理解为从用户接收请求,将模型与视图匹配在一起,共同完成用户的请求。划分控制层的作用也很明显,它清楚地告诉你,它就是一个分发器,选择什么样的模型,选择什么样的视图,可以完成什么样的用户请求。控制层并不做任何的数据处理。例如,用户点击一个连接,控制层接受请求后,并不处理业务信息,它只把用户的信息传递给模型,告诉模型做什么,选择符合要求的视图返回给用户。因此,一个模型可能对应多个视图,一个视图可能对应多个模型。

模型、视图与控制器的分离,使得一个模型可以具有多个显示视图。如果用户通过某个视图的控制器改变了模型的数据,所有其它依赖于这些数据的视图都应反映到这些变化。因此,无论何时发生了何种数据变化,控制器都会将变化通知所有的视图,导致显示的更新。这实际上是一种模型的变化-传播机制。模型、视图、控制器三者之间的关系和各自的主要功能,如图1所示。

二、MVC设计模式的实现

ASP.NET提供了一个很好的实现这种经典设计模式的类似环境。开发者通过在ASPX页面中开发用户接口来实现视图;控制器的功能在逻辑功能代码(.cs)中实现;模型通常对应应用系统的业务部分。在ASP.NET中实现这种设计而提供的一个多层系统,较经典的ASP结构实现的系统来说有明显的优点。将用户显示(视图)从动作(控制器)中分离出来,提高了代码的重用性。将数据(模型)从对其操作的动作(控制器)分离出来可以让你设计一个与后台存储数据无关的系统。就MVC结构的本质而言,它是一种解决耦合系统问题的方法。

2.1视图

视图是模型的表示,它提供用户交互界面。使用多个包含单显示页面的用户部件,复杂的Web页面可以展示来自多个数据源的内容,并且网页人员,美工能独自参与这些Web页面的开发和维护。

这一部分主要定义了WEB页面基类PageBase;页面布局策略类PageLayout,完成页面布局,用于加载用户部件到页面;用户部件基类UserControlBase即用户部件框架,用于动态加载检验部件,以及实现用户部件的个性化。为了实现WEB应用的灵活性,视图部分也用到了许多配置文件例如:置文件有模板配置、页面配置、路径配置、验证配置等。

2.2控制器

用控制器提供一个控制和处理请求的集中入口点,它负责接收、截取并处理用户请求;并将请求委托给分发者类,根据当前状态和业务操作的结果决定向客户呈现的视图。在这一部分主要定义了HttpReqDispatcher(分发者类)、HttpCapture(请求捕获者类)、Controller(控制器类)等,它们相互配合来完成控制器的功能。请求捕获者类捕获HTTP请求并转发给控制器类。控制器类是系统中处理所有请求的最初入口点。控制器完成一些必要的处理后把请求委托给分发者类;分发者类分发者负责视图的管理和导航,它管理将选择哪个视图提供给用户,并提供给分发资源控制。在这一部分分别采用了分发者、策略、工厂方法、适配器等设计模式。

2.3模型

MVC系统中的模型从概念上可以分为两类――系统的内部状态和改变系统状态的动作。模型是你所有的商业逻辑代码片段所在。本文为模型提供了业务实体对象和业务处理对象:所有的业务处理对象都是从ProcessBase类派生的子类。业务处理对象封装了具体的处理逻辑,调用业务逻辑模型,并且把响应提交到合适的视图组件以产生响应。业务实体对象可以通过定义属性描述客户端表单数据。所有业务实体对象都EntityBase派生子类对象,业务处理对象可以直接对它进行读写,而不再需要和request、response对象进行数据交互。通过业务实体对象实现了对视图和模型之间交互的支持。实现时把"做什么"(业务处理)和"如何做"(业务实体)分离。这样可以实现业务逻辑的重用。由于各个应用的具体业务是不同的,这里不再列举其具体代码实例。

三、MVC设计模式的扩展

通过在ASP.NET中的MVC模式编写的,具有极其良好的可扩展性。它可以轻松实现以下功能:

①实现一个模型的多个视图;

②采用多个控制器;

③当模型改变时,所有视图将自动刷新;

④所有的控制器将相互独立工作。

四、MVC的优点

首先,最重要的是应该有多个视图对应一个模型的能力。在目前用户需求的快速变化下,可能有多种方式访问应用的要求。例如,订单模型可能有本系统的订单,也有网上订单,或者其他系统的订单,但对于订单的处理都是一样,也就是说订单的处理是一致的。按MVC设计模式,一个订单模型以及多个视图即可解决问题。这样减少了代码的复制,即减少了代码的维护量,一旦模型发生改变,也易于维护。其次,由于模型返回的数据不带任何显示格式,因而这些模型也可直接应用于接口的使用。

再次,由于一个应用被分离为三层,因此有时改变其中的一层就能满足应用的改变。一个应用的业务流程或者业务规则的改变只需改动MVC的模型层。

控制层的概念也很有效,由于它把不同的模型和不同的视图组合在一起完成不同的请求,因此,控制层可以说是包含了用户请求权限的概念。

五、MVC的不足

MVC的不足体现在以下几个方面:

(1)增加了系统结构和实现的复杂性。对于简单的界面,严格遵循MVC,使模型、视图与控制器分离,会增加结构的复杂性,并可能产生过多的更新操作,降低运行效率。

(2)视图与控制器间的过于紧密的连接。视图与控制器是相互分离,但确实联系紧密的部件,视图没有控制器的存在,其应用是很有限的,反之亦然,这样就妨碍了他们的独立重用。

(3)视图对模型数据的低效率访问。依据模型操作接口的不同,视图可能需要多次调用才能获得足够的显示数据。对未变化数据的不必要的频繁访问,也将损害操作性能。

(4)目前,一般高级的界面工具或构造器不支持MVC模式。改造这些工具以适应MVC需要和建立分离的部件的代价是很高的,从而造成使用MVC的困难。

THE END
1.宠物店设计装修效果图宠物店设计室内设计图片大全设计本为您提供宠物店设计装修效果图,包括宠物店设计装修图片、宠物店设计室内设计图等,看宠物店设计装修设计图片就到设计本。https://www.shejiben.com/works/t207751/
2.宠物店装修设计装信通网宠物店装修设计专区,收集整理精美的宠物店装修设计装修效果图,宠物店装修设计装修图片,宠物店装修设计设计效果图以及宠物店装修设计装修搭配方法供广大业主装修时参考,更多的宠物店装修设计尽在装信通网效果图栏目。https://m.zx123.cn/xiaoguotu/6324/
3.温馨宠物天地:宠物店装修效果图精选在当今社会,宠物已成为许多家庭不可或缺的一员,它们带来的陪伴与快乐,让人们的生活更加丰富多彩。宠物店作为宠物与宠物主人交流互动的重要场所,其装修设计不仅要满足基本的功能需求,更要营造出一种温馨、舒适、富有爱意的氛围,让每一位踏入店内的顾客都能感受到家的温暖。本文将精选一系列宠物店装修效果图,带您领略...https://m.sohu.com/a/820484755_561386
4.宠物店怎么装修及整体布局设置装修设计圣宠宠物官网利用空间的立体感设计各种模型式广告可以更为直观地吸引顾客,正如可以利用春天的樱花、夏季的水波纹的季节感来装饰店面一样。这种设计同样可以运用在宠物店货架的广告设计上,比如,在宠物狗的食品的展台区,可以制作个大的布兜和罐状食品的模型,使商品更加引人注目,但要注意的一点是一定要保持展台区整体上的美观整洁。http://www.petjm.com/jiamengzhichi_zhua/149.html
5.c6咖啡甜品奶茶店店铺店面门头装修SU模型skpc6 咖啡甜品奶茶店店铺店面门头装修SU模型 音效 实录音效实录音效 短视频短视频 影视特效影视特效 UI&提示UI&提示 音效专辑音效专辑 真人配音真人配音 商用 免费商用 (CC协议)免费商用 (CC协议) 企业商用 (29元/首)企业商用 (29元/首) 配乐 情绪 安静安静...https://www.aigei.com/item/c6_ka_fei_tian.html
6.时尚模型图片时尚模型设计素材红动中国素材网提供1110个时尚模型图片、时尚模型素材、时尚模型背景、时尚模型模板、时尚模型海报等PS素材下载,包含PSD、AI、PNG、JPG、CDR等格式源文件素材,更多精品时尚模型设计素材下载,就来红动中国,最后更新于2023-08-24 19:15:18。https://m.redocn.com/so-shishang/cab1c9d0c4a3d0cd.htm
7.木廊架CAD施工图SU模型图纸下载本图纸是一套完整的木廊架CAD施工图 SU模型其中包括廊架顶平面图CAD 廊架剖面图 CAD廊架展开正立面图CAD 廊架柱底平面图 总文件等欢迎大家踊跃下载! 附件图纸预览 图纸附件: 3 作者创作的其他图纸 查看更多 肉夹馍店CAD施工图 效果图 AutoCAD # 室内设计 台球室CAD施工图 效果图 AutoCAD # 室内设计 宠...https://m.mfcad.com/tuzhi/show_1352585.html
8.[狗粮包装展开图]图片免费下载狗粮包装展开图素材写实猫粮狗粮产品包装袋3D模型免抠素材图 手绘复古国潮风牛肉包装袋 医疗健康宠物医院画册 原创3D糖果包装样机 中国风国潮手绘中秋节礼品大闸蟹海鲜礼盒 宠物医院宣传单页 卡通几何化肥可商用元素 宠物店可爱卡通清新云朵雪纳瑞海报 原创3D狗粮包装盒样机 鸭蛋牛皮纸箱包装箱设计 原创模型包装袋样机袋子食品袋 腊肠包装袋食品...https://m.58pic.com/tupian/gouliangbaozhuangzhankaitu.html
9.宠物店管理系统20231220184553.docxSY宠物店管理系统的主要目的就是为线下的宠物店做一个好的管理平台,减少因人工记录宠物店商品造成的数量不符以及失误。SY宠物店管理系统研究对商品的管理以及对宠物店所包含的服务进行管理。 1.3.2研究方案 1.方法模型:本文根据软件工程思想对系统进行分析、设计和实现。 2.技术:ASP.NET,B/S,数据库技术 3.框架组...https://m.book118.com/html/2023/1220/6204104112010023.shtm
1.宠物店门头3d模型宠物店门头模型图片素材免费下载3D溜溜网3d模型库,汇集多类型宠物店门头模型图片素材,帮设计师根据不同场景,寻找免费下载的三维立体,3dmax和C4D模型素材,找宠物店门头3d模型图片素材就来3D溜溜网。https://3d.3d66.com/relation/relation_2135145.html
2.宠物产品设计星球模型制作宠物产品设计星球模型制作教程大家好!今天让小编来大家介绍下关于宠物产品设计星球模型制作_宠物产品设计星球模型制作教程的问题,以下是小编对此问题的归纳整理,来看看吧。 文章目录列表: 宠物服装的概述,发展、背景、意义、过程等 开发宠物App的市场前景如何? 宠物店怎样进行店内规划与布置? https://jbairui.net/news/shejiziliao/15749.html
3.最能赚钱的十大DIY项目面积10至20平方米,有主题和特色,地段方便热闹,装修时尚明快,月收入3000元到上万元不等……随着现代人对个性化产品不断增长的市场需要,DIY植物宠物店今年在国内发展很快,不论是在繁华的步行街,还是在学生消费相对集中的文教区,甚至在小店扎堆经营的夜市旁边,总能见到它的影子,成为一种新颖、时尚的投资形式。 https://www.yjbys.com/chuangye/xiangmu/xiaobenchuangyexiangmu/531436.html
4.设计师如何建立心智模型?来看谷歌设计师的总结!优设网这些行为并不一定是主动造成的,很多时候是我们的潜意识积极寻找利己数据,既有的心智模型再加上确认偏误,这个组合会提高人们对特定的信息觉察力(information awareness)(例如:在决定要养宠物之前从没正眼看过宠物店,之后才发现街上到处都是宠物店)。 于是通过确认偏误建立的心智模型极有可能是缺乏科学根据的,以下提供几...https://www.uisdc.com/building-mental-models/
5.宠物玩具品牌狗玩具品牌十大宠物玩具生产厂家出于工作和生活原因,饲主将宠物留在家中或者送到宠物店寄养时,对于饲主不在身边或者突然离开熟悉的家庭环境的宠物来说,宠物玩具无异于是打消它们恐惧焦虑情绪的重要情感寄托与支撑。当宠物独自在家时,很容易因为与饲主的分离而产生焦虑,而宠物玩具使它们能够在玩耍中得到缓解,减少因焦虑造成的食欲不振和乱吠等现象;当...https://www.maigoo.com/maigoo/9135cwwj_index.html
6.“翻转课堂”在英语专业教学中的应用(通用6篇)[摘要]本文探讨了“翻转课堂”的概念及其应用于英语听说教学的意义,针对英语听说教学的现状和问题,结合相关理论,分析了英语听说课的翻转课堂模型、具体应用实例和需要注意的问题,以期为我国英语听说翻转课堂实践提供借鉴和参考。 [关键词]翻转课堂;英语听说教学;教育改革 ...https://www.360wenmi.com/f/filehhzg9g54.html
7.短视频营销模型,短视频营销方法与技巧但粉丝不一定都是精准客户,短视频橱窗带货不够,还需要二次引导到直播间或其他平台形成购买和持续购买才行短视频营销最大的好处,就是来便于理解,便于传播,便于上手,一般来讲,短视频营销三部曲,开店,装修,推广,可以到“秘邻APP”来开店,专门为本地生活企业准备的,餐馆自、兴趣班、修车行、宠物店、月子中心、游泳、...http://www.pzhseo.com/article/egdood.html
8.[附源码]java毕业设计宠物商城使用java实现mypetstore基于Java的宠物商城,该系统软件开发仅需要一台普通的计算机便可完成实现开发,其成本很低。另外,作为毕业设计作品来讲,开发成本基本上可以忽略不计,且该系统软件的投入使用,可以实现更加快速高效的宠物店管理,同时还能实现对人力资源和管理资源的有效节约,该宠物商城在经济上完全可行。 https://blog.csdn.net/bishe507/article/details/127813344
9.派多格宠物店怎么样了解我的目的后,他们允许我参观模型店的陈列室,里面有各种各样的产品。我被宠物用品深深吸引,当我看到公司的政策这么好时,我毫不犹豫地签下了特许经营合同,真正成为了派狗的一员。签约后不到一周,总部专门制定了一系列适合我区域购买力的店面选址、门头设计、店面装修、营销方案。这确实是一站式服务。而且杂志上...http://yecyd.com/detail/109773.html
10.实用小学数学教案过渡语:刚才去了宠物店,当了一回购物小达人,你们想自己当老板吗?(想) 好!现在你们来当设计师,设计一家自己的商店。 要求: (1)画上你最喜欢的物品,标上价格。 (2)提出3个以上的除法问题。 学生创作,师巡视。 学生展示自己的作品。 没有展示的作品回家后可以将作品发到我们班级数学微信群,同学们可以和爸爸...https://www.unjs.com/jiaoan/shuxue/20230705101927_7359104.html
11.精选小学数学教案范文(通用14篇)活动六:我当设计师 过渡语:刚才去了宠物店,当了一回购物小达人,你们想自己当老板吗?(想) 好!现在你们来当设计师,设计一家自己的商店。 要求: (1)画上你最喜欢的物品,标上价格。 (2)提出3个以上的除法问题。 学生创作,师巡视。 学生展示自己的作品。 https://www.fwsir.com/jiaoan/html/jiaoan_20220221102931_1654433.html
12.推荐小学数学教案活动六:我当设计师 过渡语:刚才去了宠物店,当了一回购物小达人,你们想自己当老板吗?(想) 好!现在你们来当设计师,设计一家自己的商店。 要求: (1)画上你最喜欢的物品,标上价格。 (2)提出3个以上的除法问题。 学生创作,师巡视。 学生展示自己的作品。 https://teacher.ruiwen.com/jiaoxueziliao/jiaoan/353107.html
13.猫猫海报素材猫猫海报图片猫猫海报设计模板可爱宠物挂画宠物店宠物医院猫猫宠物萌宠挂图套图 踏青郊游春游春游手绘卡通春天踏青郊游原创插画海报 世界动物日海报可爱猫咪插画卡通手绘猫咪素材 天猫头框 世界动物日海报卡通手绘可爱猫咪原创插画png素材 儿童节躲猫猫原创插画海报素材 开会OL职场发表ppt人物模型3d可爱白模AIGC ...https://www.51miz.com/so-sucai/3291717.html