MVC还是在CS架构中不变的真理 这句话是什么意思???请IT强人且爱好CS的帮忙解答下 小女子感激不尽

如题所述

这里指的是三层C/S架构。传统的是C/S是两层的。
三层C/S的功能

1. 表示层
表示层是应用的用户接口部分,他担负着用户和应用间的对话功能。他用于检查用户从键盘等输入的数据,显示应用输出的数据。为使用户能直观地进行操作,一般要使用图像用户接口(GUI),操作简单、易学易用。在变更用户接口时,只需改写显示控制和数据检查程式,而不影响其他两层。检查的内容也只限于数据的形式和值的范围,不包括有关业务本身的处理逻辑。
图像界面的结构是不固定的,这便于以后能灵活地进行变更。例如,在一个窗口中不是放入几个功能,而是按功能分割窗口,以便使每个窗口的功能简洁单纯。在这层的程式研发中主要是使用可视化编程工具。

2. 功能层
功能层相当于应用的本体,他是将具体的业务处理逻辑地编入程式中。例如,在制作订购合同的时要计算合同金额,按照定好的格式设置数据、打印订购合同,而处理所需的数据则要从表示层或数据层取得。表示层和功能层之间的数据交往要尽可能简洁。例如,用户检索数据时,要设法将有关检索需求的信息一次传送给功能层(参见图2),而由功能层处理过的检索结果数据也一次传送给表示层。在应用设计中,一定要避免"进行一次业务处理,在表示层和功能层间进行多几次数据交换"的笨拙设计。
通常,在功能层中包含有:确认用户对应用和数据库存取权限的功能及记录系统处理日志的功能。这层的程式多半是用可视化编程工具研发的,也有使用COBOL和C语言的。

3. 数据层
数据层就是DBMS,负责管理对数据库数据的读写。DBMS必须能迅速执行大量数据的更新和检索。目前的主流是关系数据库管理系统(RDBMS)。因此,一般从功能层传送到数据层的需求大都使用SQL语言。
三、三层C/S结构的好处

1. 具有灵活的硬件系统构成
对于各个层能选择和其处理负荷和处理特性相适应的硬件。这是个和系统可缩放性直接相关的问题。例如,最初用一台Unix工作站作为服务器,将数据层和功能层都设置在这台服务器上。随着业务的发展,用户数和数据量逐渐增加,这时就能将Unix工作站作为功能层的专用服务器,另外追加一台专用于数据层的服务器。若业务进一步扩大,用户数进一步增加,则能继续增加功能层的服务器数目,用以分割数据库。清晰、合理地分割三层结构并使其独立,能使系统构成的变更非常简单。因此,被分成三层的应用基本上不必修正。

2. 提高程式的可维护性
三层C/S结构中,应用的各层能并行研发,各层也能选择各自最适合的研发语言。

3. 利于变更和维护应用技术规范
因为是按层分割功能,所以各个程式的处理逻辑变得十分简单。

4. 进行严密的安全管理
越关键的应用,用户的识别和存取权限设定愈重要。在三层C/S结构中,识别用户的机构是按层来构筑的,对应用和数据的存取权限也能按层进行设定。例如,即使外部的入侵者突破了表示层的安全防线,若在功能层中备有另外的安全机构,系统也能阻止入侵者进入其他部分。

此外,系统管理简单,可支持异种数据库,有非常高的可用性。
四、三层C/S应用的研发

三层C/S应用的研发必须遵从以下原则:保护已有投资;降低应用系统的风险; 满足当前的迫切需要;考虑未来的发展规划。
研发出的三层C/S应用系统必须是:功能丰富且具有高可用性;功能要能跨应用系统;系统要能跨平台运行。
美国BEA系统有限公司产品计划和战略副总裁Jeri Edwards女士,按下述三种三层C/S应用系统的典型研发类型,分别举例介绍了他们的研发目标、研发过程、研发成果及经验体会。新建应用系统类型 (Greenfield),如英国劳工局的劳动力市场系统;提升已有系统性能类型(Turbocharger),如Apple公司的AppleOrder Global系统;综合集成已有系统类型(Integrator),如AT&T的Zenith应用系统。Jeri Edwards女士根据三层C/S应用系统的研发经验和教训,总结出了实现C/S应用系统的"黄金10原则" :
(1) 尽量简化项目,使项目易于管理。应尽快建起一个初始系统,并尽早投入运行。当项目规模较大时,能将其分割成由更小研发组担负的子项目。
(2) 要把精力花在设计上。首先要完全弄清"需求" ,然后建立一个原型,以便测试设计中的"薄弱"环节。后来增加的特性或部件要确保和系统结构兼容。
(3) 要奉行"拿来主义"。近来,可供选购的市售C/S产品非常多,要坚持"能买就买,为我所用"的原则。必要时,买来后可对系统加以修改,其中既包括基础部件也包括应用。
(4) 严格遵守业界标准。
(5) 采用TP监视器或对象事务处理管理器 (Object Transaction Manager ,OTM)。
(6) 要循序渐进。及时得到用户的反馈;确保项目各部分的良好衔接;及早解决接口问题,以确保项目进展协调;坚持"边分析,边设计;边编码,边测试"的原则。
(7) 在应用研发过程中,不可忽视系统管理。
(8) 反复测试,包括用户信任测试、基准测试、系统测试、性能测试、系统集成测试、坚固性测试、服务交付测试等。
(9) 制定合理的工程进度。
(10) 制定完善的系统拓展计划,包括用户的培训和技术支持、高效的硬软件装载、已有数据和系统的平滑迁移。
五、三层C/S应用中的核心

每个C/S环境,从最小的LAN环境到终极网络环境,都使用某种形式的中间件。实际上,无论客户机何时给服务器发送请求,也无论他何时应用存取数据库文件,都有某种形式的中间件传递C/S链路,用以消除通信协议、数据库查询语言、应用逻辑和操作系统之间潜在的不兼容问题。中间件是C/S环境中最重要的部件。所谓中间件是个用API定义的软件层,是具有强大通信能力和良好可扩展性的分布式软件管理框架。他的功能是在客户机和服务器或服务器和服务器之间传送高级通信,将客户机群和服务器群有机地"粘合"起来。其工作流程是:在客户机里的应用程式需要驻留网络上某个服务器的数据或服务时,搜索此数据的 C/S应用程式需访问中间件系统,该系统将查找数据源或服务,并在发送应用程式请求后重新打包响应,将其传送回应用程式。
TP监视器在中间件技术中扮演着越来越重要的角色,特别是在三层C/S系统中。据Standish Group的调查,TP监视器是近两年信息业界最热门的技术之一。1996年有57%的关键应用是构筑在TP监视器上的。TP监视器擅长提供事务性语义, 允许就环境速度和可靠性进行编程。作为一种中间件,TP监视器提供一种用于编写分布式应用程式的API,他通常包含一组强大的管理工具。TP监视器是个高性能、高并行性、多用户的快速响应软件运行环境,他能有效地管理大量的并发任务,进而提高系统资源的利用率。如果采用TP监视器,系统总投资可节约30% 以上,研发周期可缩短40%~50%。大多数投入应用的三层应用系统都配备有一套事务处理监视系统,BEA TUXEDO是目前应用最广泛的事务处理监视系统。
BEA TUXEDO是用于分布计算的中间件基础结构,他使开放式应用系统具有高可缩放性、高灵活性和高可维护性。他不仅具有分布式交易处理和应用间报文通信的功能,而且具有一系列极其完善的服务,可帮助企业建立和运行应用系统,使研发人员能够建立跨越多个平台、数据库和操作系统的应用程式。这样,能灵活选配操作平台以充分适应应用环境。他具有以下特点:

1、支持多种软硬件平台。完全符合Open Group的X/Open标准,支持TCP/IP协议,支持包括Unix、视窗系统 NT、AS/400和大型机专用系统在内的70多个硬件平台和操作系统。
2、结构开放、灵活。模块结构以高级程式接口ATMI(Application-to-Transaction Manager Interface)为中心,有丰富的ATMI函数可供调用。
3、开放的联机事务处理。可提供诸如事务性语义、透明的二段式提交、事务记录及分布事务处理管理结构等功能。
4、和DCE的结合。通过一套工具和程式库,实现了和Open Group组织的分布计算环境DCE的有机结合。
5、功能丰富,包括:应用管理;事件代理;通过鉴别服务、授权服务和数据加密服务,为客户提供安全确保;对COBOL语言的支持;应用动态调节、负载平衡等确保高可靠性的功能等。
六、三层C/S结构的应用现状

目前,用三层C/S结构研发的应用还不太多,但其数量的确在逐日增加。图3显示了北美运行的应用研发形态。三层C/S型应用的比例1995年占 5%,1997年增加到7.8%,预计到1999年将占22.9%。二层C/S型应用和在原有系统上附加GUI型的应用,是被定位为向三层C/S型转化的过
度形态。就当前来说,这种形态的比例要比三层C/S高,且要持续一段时间。那么,什么情况下应采用三层C/S呢?据Gartner Group的调查表明,具有下述特点的应
用应考虑采用三层C/S。

1、应用的服务或种类超过50个;
2、应用是用不同语言编写的;
3、两个以上的异构数据源,如2个不同的DBMS或1个DBMS和1个文件系统;
4、应用的生命周期超过3年;
5、高工作负荷,例如每天超过5万个事务处理或在同一系统访问同一数据库的并发用户数超过300个;
6、有至关重要的应用内部通信,包括像电子数据交换(EDI)这类企业的内部通信。
从传统的主机/终端型应用到三层C/S化,要考虑时间和费用问题,有的场合还不适合,需要循序渐进。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2011-01-11
MVC是一种常见的设计模式架构,CS是软件系统的整体结构框架。实际上,MVC不仅仅是CS的不变真理,还是BS等等众多模式的架构选择方案。
具体来看,CS是客户端-服务器结构,客户端多是MVC中的V,即视图,用来显示交互界面的程序。服务器端多是M和C,即模型和控制,一般M由多个数据服务器构成。C则是M和V中间的控制程序,一般是一些应用服务器,但也有少量C的功能在客户端实现。
这样来看,CS结构与MVC模式十分匹配,所以可以说“MVC还是在CS架构中不变的真理”。
第2个回答  2011-01-13
简单说--MVC是一种很好的设计架构模式,目前是没有别的模式能够取代它的位置,但是不代表以后不会
开发软件追求的不是代码,是思想
相似回答