- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
解读Yii-分层设计
解读优秀框架之YII分层设计
苏骞
QQ:635927818
Email:aoxue.1988.su.qian@163.com
PHP框架说明:/
Yii国际主站:
Yii中国主站:/
一、分层设计
A、在项目开发过程中中遇到过以下问题吗?
1、面对需求的变动,我们代码的整体架构也不得不跟着变动 ,就是传说中的牵一发而动全身?
2、项目开发过程中,我们更多的集力花在内耗上 ?
3、在项目开发的开始,我们信心满满,中途我们动摇了?我们开始抱怨,开始愤怒。。。
4、一样的代码,在整个项目中全部都是,修个其中一处代码,必须同步修改其它很多处代码,有时候还有莫名其妙的BUG?
……
B、面对这些问题,我们是继续抱怨,还是马上解决呢?
伴随着问题的产生,解决问题的方法也会开始被人们探索。
开发者为了解决项目维护难、扩展难、沟通受阻、开发效率低的问题,便开始不断的探索、研究、总结,便产生了分层这门学说
C、软件架构的演变
D、我们来看看OSI分层(网络七层)和TCP/IP四层
物理层:定义物理设备标准,如网线的接口类型、光纤的接口类型。它的主要作用是传输比特流
数据链路层:将从物理层接收的数据进行MAC地址进行封装与解封装。设备是交换机,数据通过交换机来传输。
网络层:从下层接收到的数据进行IP地址(例)的封装与解封装。设备是路由器,常把这一层的数据叫做数据包。
传输层:定义传输数据的协议和端口号,如:TCP,UDP。 主要是将从下层接收的数据进行分段和传输,到达目的地址后再进行重组。常把这一层数据叫做段。
会话层:通过传输层建立数据传输的通路。主要在你的系统之间发起会话或或者接受会话请求
表示层:主要是进行对接收的数据进行解释、加密与解密、压缩与解压缩等(也就是把计算机能够识别的东西转换成人能够能识别的东西如图片、声音等)。
应用层 :终端的应用,如FTP,WEB,QQ)。
2、OSI七层与TCP/IP四层对照表
3、TCP/IP模型各个层次的功能和协议
D、网络分层的优势
1、服务、接口和协议这三个层次明确、职责分离
2、上层只须了解下层的接口,不需了解内部的具体实现,下层为上层提供服务。每层只与相邻层交互和通信,与其它层没有业务交集,职责单一、独立性强、层内内聚度高,层与层耦合度低,便于开发,减少沟通。
4、降低问题的复杂度,网络发生故障,可迅速定位故障所处层次,便于查找和纠错,可维护性好
5、各层定义标准接口,使具备对等层的不同网络设备实现互操作,各层之间则相对独立,一种高层协议可放在多种低层协议上运行,可伸缩性好
6、网络技术革新,只须对部分层进行技术升级,不需全部更新换代。可扩展性强.
E、软件界的三层架构
UI
BLL
DAL
1、概念
◆数据访问层 DAL :操作对象是数据库与数据。负责对数据的处理与加工
◆业务逻辑层 BLL :业务逻辑层承上启下,对上DAL提供的数据进行逻辑处理,实现业务目标和具有商业价值的东西。同时为视图层提供统一的接口
◆表示层 Web :主要人机交互,接收或响应用户请求,显示处业务逻辑组织和加工的数据或者记录用户信息与行为
视图层
业务逻辑层
数据访问层
数据访问对象
RDBMS
No Sql
业务规则
业务逻辑
界面、布局与引擎解析
实体层
2、原则
1.每一层对外提供的接口是稳定的,层内职责是明确单一的
2. 上层依赖下层的,下层仅仅为相邻上层提供标准接口与服务。
3.上层调用下层api,下层实现细节与需求的变动不会影响到上层的结构。
3、优势
1.可伸缩性:可以把每一层灵活部署在不同服务器上,实现分布式或者集群。
2.可维护性:如果需求变动,只要相应调整某一层的实现即可。
3.可管理性:分工明确,跟踪方便
4.可扩展性:增加功能只需要在相应层上调整即可。
5.可重用性:业务逻辑模块则可供系统的多个模块公共。
F、三层架构的变体—三层模式
1、MVC
MVC(Model-View-Controller,模型-视图-控制器模式)是软件工程中的一种软件架构模式,HTTP请求首先到controller层,同Controller层进行调度。而Model层与View层实际上是通信的,并且有相应的UI逻辑
2、MVP
MVP(Model-View-Presenter,模型-视图-表示器模式)也是软件工程中的一种软件架构模式,它的核心是减少View与Model层通信,完全解耦Model层与View层的关联,HTTP请求首先到View层,View把请求传递给Presenter,Presenter
您可能关注的文档
最近下载
- 人教版道德与法治七年级上册知识点梳理(00002).docx VIP
- 国际收支PPT课件.pptx VIP
- 检验科复检制度.docx VIP
- 小学三年级上册美术教案.docx VIP
- T∕CFA 0203112-2020 压铸铝合金文件.pdf VIP
- 武汉大学 2011-2012 学年第二学期期末考试线性代数 B 试题(A) .docx VIP
- SY_T 5735-2019烃源岩地球化学评价方法.pdf
- 2025年演出经纪人剧院(剧场)演出经纪实务专题试卷及解析.pdf VIP
- 南京邮电大学 20202021 学年第一学期《 微观经济学》期末考试试卷.pdf VIP
- 向日葵远程控制软件.pdf VIP
原创力文档


文档评论(0)