- 3
- 0
- 约3.33千字
- 约 34页
- 2025-05-08 发布于广西
- 举报
解读优秀框架之YII
分层设计;一、分层设计;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、软件界的三层架构
;1、概念
;2、原???么;3、优势;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调度Model层,而Presenter通过视图接口实现View与Model的交互
;3、MVP优劣
优势
1、模型与视图完全别离,我们可以修改视图而不影响模型
2、可以更高效地使用模型,因为所有的交互都发生在一个地方——Presenter内部
3、我们可以将一个Presener用于多个视图,而不需要改变3.4、Presenter的逻辑。这个特性非常的有用,因为视图的变化总是比模型的变化频繁。
5、如果我们把逻辑放在Presenter中,那么我们就可以脱离用户接口来测试这些逻辑〔单元测试〕
劣势
1、视图与表示器交互过于频繁
2、表示器承担职责过多,可能导致这层业务逻辑过于臃肿;G、三层架构与三层模式的关系
1、三层架构属概念层次,是软件分层设计的一种理论,三层模式是开发者根据工程经验总结而来,是三层架构的表现方式。
2、三层模式〔MVC、MVP〕是三层架构的变体
;二、Yii中的MVC;B、业务逻辑层(Model)
1、Yii中Model层做了那些事
1.1实现了ORM
1.2封装了EntrityLayer
1.3封装了Dal
1.4验证
1.5FormModel与DBModel的绑定关系
1.6业务逻辑(局部或整体)
;2、模型分类
Yii模型是CModel或其子类的实例。模型用于保持数据以及与其相关的业务逻辑。Yii实现两种类型的模型:表单模型和ActiveRecord。
表单模型:是CFormModel的子类。表单模型用于从用户表单获取的数据、进行验证。
ActiveRecord:活动记录是ORM的一种实现方式,主要用于对应关系型数据库里的
原创力文档

文档评论(0)