解读Yii-分层设计.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 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

文档评论(0)

cgtk187 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档