- 1、本文档共8页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
系统架构分层设计本文讨论关于项目系统架构的拆分模型,阐述每个层次(layer)的作用,以及面向SOA编程提供服务的方式。服务端架构解决之道大家看到这张图,用了一个形象的比喻来体现传统的服务端软件。最下层是操作系统,通常是Linux,最上层是我们的业务功能和服务。在服务端架构,很习惯用增加一个架构层次的方式来解决问题。例如缓存层、数据访问层。在架构上按照自己的意愿去搭建不同层次的衔接环节,使架构具有足够的灵活性和扩展性。即时堆成这样,它依旧是非常合理的。MVC FramkwrokMVC即Model、View、Controller,这种开放方式把数据和显示分开,使得同一种数据可以以各种各样的方式展现给用户,而我们需要改动展现方式的时候并不需要改动Model层的内容。在上图中展现了MVC中各个模块之间的通信方式,其中,Controller可以无限制的与Model和View通信,Controller需要从Model层拿到数据,并告诉View层如何显示这些数据。图中红色的箭头表明,Model与View之间是绝对不能相互通信的 ,这样做是为了降低模块间的耦合度,方便修改和维护。另外,图中的双黄线,也表明Model是绝对不能跨过黄线与View有关系的。其中有点难以理解的是Model和Controller以及View和Controller之间的线是实现与虚线混合,虚线表示Controller可以跨过。# Model与Controller通信Model与Controller之间是用实线表示,这表明Model并不能随意的访问Controller,但是有时Controller是需要接收Model层的消息的。在MVC模式中,要实现Model层到Controller层的通信,使用了一种类似广播的方式。Model中数据变化时,Model会发出一条广播,然后对这个Model感兴趣的Controller就会收到广播并告诉对应View改变现实方式。MVC中的Controller,即控制器,控制着整个程序的逻辑和Model如何显示到View层。Controller把Model和View连接起来,让我们可以在View上看到Controller想要Model层现实的样子。# View与Controller通信在程序过程中,View层其实是需要与Controller通信的,当然View层不可能直接调用Controller的某个方法来处理用户点击事件,因为View不知道该使用 Controller中的哪个方法。因此,使用了一种叫做Target的方式来处理这个问题,Controller会事先告诉View,如果触发了某个事件,View就会把这个动作转给Target。然后Controller运行完该方法,处理好这个时间以后就会告诉Veiw。# Delegate 方式View与Controller之间通信还会有另一种方法 —— 代理。项目层次的划分所有用Maven管理的真实项目都是分模块的,每个模块对应一个pom.xml。它们之间通过继承和聚合相互关联。项目层次的划分会使整个项目的框架清晰起来。项目层次的划分需要遵循一个设计模式原则:高内聚,低耦合 。一个简单的Maven模块结构如下图,注意依赖的传递性。其中Web是负责提供Action / Controller,Service负责业务逻辑处理,Manager负责事务数据规整,Dao负责ORM逻辑,Domain管理Pojo对象。而RPC负责调用外部资源,Remoting负责提供对的请求。而在提供对外服务的时候,我们还会提供API或Client这样的引用包,它们的区别在于API提供的是协议包,而Client是客户包。API和Client拥有不同的 应用场景,Client包可能包含业务逻辑,会占用宿主服务器的系统资源 ,API仅仅是传输的协议定义。SOA框架SOA是Service-Oriented Architecture,它是一种支持面向服务的架构样式。从服务、基于服务开发和服务的接口来看,面向服务是一种思考方式。Reference:http://2/en/Blog/post/javascript-mvc-you-need-a-good-mvc-framework/p/79cc250be1b2
您可能关注的文档
- 公有云里的容器方案.pdf
- 京东交易高可用缓存实践.pdf
- 互联网高可用架构.pdf
- 海量日志分析与智能运维平台.pdf
- 分布式文件系统的历史.docx
- 企业DevOps的成功之路.pdf
- 阿里分布式消息中间件RocketMQ-深入解析.docx
- 亿级Web系统分布式集群设计.docx
- 互联网后端基础设施规划.docx
- 开门见山 - DevOps.docx
- 人教新目标版英语九年级 中考模拟学情评估(三)(含答案).pdf
- 上海市风华中学2024-2025学年高三上学期9月阶段测试英语试题(无答案).pdf
- 统编版2024-2025学年语文六年级上册期末检测卷(有答案).pdf
- 人教新目标版英语九年级第二学期全册学情评估(含答案).pdf
- 内蒙古自治区巴彦淖尔市杭锦后旗第六中学2024-2025学年八年级上学期阶段性测试历史试题(解析版).pdf
- 湖南省娄底市涟源市部分学校2024-2025学年高一上学期9月月考语文试题 Word版无答案.pdf
- 湖南省衡阳市常宁市2023-2024学年七年级上学期期末考试英语试题.pdf
- 湖南省娄底市涟源市部分学校2024-2025学年高一上学期9月月考语文试题 Word版含解析.pdf
- 江苏省泰州市姜堰区城西实验学校2024-2025学年部编版九年级上学期月考历史试卷(原卷版).pdf
- 内蒙古伊金霍洛旗2022-2023学年七年级上学期期末考试英语试题.pdf
最近下载
- 医学免疫学试题~库.doc
- 广东省广州市南沙区实验外语学校2022-2023学年七年级上学期第一次月考数学试题.docx
- 旋挖钻机安装拆卸施工方案.docx VIP
- 第一章-婴幼儿发展概述.pptx VIP
- 新生儿病房建设与设备配置标准- 2023 20231010.doc VIP
- 年处理3000万只玻璃瓶蒙砂项目环评(2021年新版环评)环境影响报告表.pdf VIP
- 海尔10公斤双动力波轮洗衣机_XQS100-BZ556_使用说明书技术数据参数用户须知指南产品手册电子版.pdf VIP
- 人教新目标英语八年级上册unit3单元语法练习题(含答案).doc
- 10《老人与海(节选)》课件(共64张PPT)统编版高中语文选择性必修上册.pptx VIP
- 注塑车间管理条例.doc VIP
文档评论(0)