- 1、本文档共27页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第十一讲 软件体系结构的基础结构模式
第十一讲 软件体系结构的基础结构模式 重点: 1、设计模式描述 2、MVC模式 3、网络通讯套接 4、串行通讯 11.1 设计模式概述 模式是指从某个具体的形式中得到的一种抽象,在特殊的非任意性的环境中,该形式不断地重复出现。 一个软件体系结构的模式描述了一个出现在特定设计语境中的特殊的再现设计问题,并为它的解决方案提供了一个经过充分验证的通用图示。 设计模式概述 解决方案图示通过描述其组成构件及其责任和相互关系以及它们的协作方式来具体指定。 设计模式概述 一个好的模式必须做到以下几点: 1、解决一个问题:从模式可以得到解,而不仅仅是抽象的原则或策略。 2、是一个被证明了的概念:模式通过—个记录得到解.而不是通过理论或推测。 3、解并不是显然的:许多解决问题的方法(例如软件设计范例或方法)是从最基本的原理得到解;而最好的方法是以非直接的方式得到解,对大多数比较困难的设计问题来说,这是必要的。 设计模式概述 4、 描述了一种关系:模式并不仅仅描述模块,它给出更深层的系统结构和机理。 5、 模式有重要的人为因素:所有的软件服务于人类的舒适或生活质量,而最好的模式追求它的实用性和美学。 设计模式的基本成分 (1)模式名称 (2)问题 (3)解决方案 (4)后果 设计模式的描述(1) Erich Gamma博士等人采用下面的固定模式来描述: (1)模式名称和分类 (2)目的 (3)别名 设计模式的描述(2) (4)动机 (5)应用 (6)结构 设计模式的描述(3) (7)成分 (8)合作 (9)后果 设计模式的描述(4) (10)实现 (11)例程代码 (12)已知的应用 (13)相关模式 11.2 MVC模式 MVC(Model-View-Controller)模式是国外用得比较多的一种设计模式 模型-视图-控制器(MVC)是80年代Smalltalk-80出现的一种软件设计模式,现在已经被广泛的使用。 MVC模式 MVC包括三类对象 (1)Model---是应用对象 (2)View---是它在屏幕上的表示 (3)Controller---定义用户界面对用户输入的响应方式 MVC模式 1、模型(Model) 模型是应用程序的主体部分。模型表示业务数据,或者业务逻辑. 2、视图(View) 视图是应用程序中用户界面相关的部分,是用户看到并与之交互的界面。 3、控制器(controller) 控制器工作就是根据用户的输入,控制用户界面数据显示和更新model 对象状态。 MVC模式 MVC 式的出现不仅实现了功能模块和显示模块的分离 它还提高了应用系统的可维护性、可扩展性、可移植性和组件的可复用性 MVC模式 早期的程序中,如果不注意对数功能和显示的解耦合,常常会导致程序的复杂及难以维护。 很多VB,Delphi等RAD(Rapid Application Develop )程序都有这种问题。甚至现在的C#,Java有时候也会出现把业务逻辑写在显示模块中的现象 MVC模式 尽管MVC设计模式很早就提出,但在Web项目的开发中引入MVC却是步履维艰!!! MVC模式 主要原因: 一是在早期Web项目开发中,程序语言和HTML的分离一直难以实现。 CGICommon Gateway Interface(通用网关界面) 程序以字符串输出的形式动态地生成HTML内容。 后来随着脚本语言的出现,前面的方式又被倒了过来,改成将脚本语言书写的程序嵌入在HTML内容中。 这两种方式有一个相同的不足之处:” -----即它们总是无法将程序语言和HTML分离。 MVC模式 二是脚本语言的功能相对较弱,缺乏支持MVC设计模式的一些必要的技术基础。直到基于J2EE的JSP Model 2问世时才得以改观。 用JavaBean技术实现模型的功能 它用JSP技术实现视图的功能 用Servlet技术实现控制器的功能 MVC模式示例 11.3 网络通讯套接(Windows Sockets) 随着网络的发展,网络通讯套接(socket)已成为建立网络服务和应用系统的重要部件。 Windows Sockets是Windows 下网络连接的规范,是基于ISO参考模型、在传输层建立的网络接口部件 Windows Sockets 的体系结构关系 Windows Sockets Windows Sockets是在U.C.Berkeley 大学BSD UNIX中流行的 Socket套接基础上扩充起来的。 这些扩充主要提供了一些异步函数,并增加了符合Windows 消息驱动特性的网络事件异步选
文档评论(0)