PHP之MVC

MVC 的思想

   MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写,一种软件设计典范,用一种业务逻辑、数据、界面显示分离的方法组织代码,将业务逻辑聚集到一个部件里面,在改进和个性化定制界面及用户交互的同时,不需要重新编写业务逻辑。MVC被独特的发展起来用于映射传统的输入、处理和输出功能在一个逻辑的图形化用户界面的结构中。

  Model(模型)是应用程序中用于处理应用程序数据逻辑的部分。
通常模型对象负责在数据库中存取数据。

  View(视图)是应用程序中处理数据显示的部分。

通常视图是依据模型数据创建的。

  Controller(控制器)是应用程序中处理用户交互的部分。
通常控制器负责从视图读取数据,控制用户输入,并向模型发送数据。


  浏览器向控制器C发出请求; C负责调用 数据处理层M 返回; M返回给C之后,C在调用V视图 把数据显示; C返回给客户端

模型和视图都被控制器调用 模型和视图不需要完成任何交互 所有的URL都是通过请求c ,如果模型或者视图需要请求数据,都是c窜过去的

MVC 的特征

  1.基础结构和基础代码的集合,不包括具体的业务实现。

  2.在数据库中 ,没张数据表对应一个model类文件。

  3.数据表需要有什么功能 需要在表对应的model类中去实现。

  4.功能一定要单一 。互不联系。都是独立的一块。


模型层的实现:
  为了保证每次在模型对应的表操作时候,如果遇到多次使用一个表模型,需要实例化对象两次或者以上

为此 设计出单例模式 之 工厂模式,让每次表模型进行业务逻辑处理的时候 加载工厂类,实现只做一次实例化对象即可 保证资源的不浪费,重复利用。

控制器层的实现:
  为了完成某一类的操作,而相关 方法的整合,形成的统一控制。 由控制器controller.class.php完成相应的功能方法,也称作是动作 《action》

浏览器访问实例化过的控制器 就行访问, 也就前段控制器, 转接到 controller 里边做相应的处理。

 

MVC 分层有助于管理复杂的应用程序,因为您可以在一个时间内专门关注一个方面。例如,您可以在不依赖业务逻辑的情况下专注于视图设计。同时也让应用程序的测试更加容易。

MVC 分层同时也简化了分组开发。不同的开发人员可同时开发视图、控制器逻辑和业务逻辑。

      有很多程序员往往认为MVC是一种设计模式。实际上MVC是一种框架模式。框架通常是代码重用,而设计模式是设计重用,架构则介于两者之间,部分代码重用,部分设计重用,有时分析也可重用。

      简而言之:框架是大智慧,用来对软件设计进行分工;设计模式是小技巧,对具体问题提出解决方案,以提高代码复用率,降低耦合度。

原文地址:https://www.cnblogs.com/sharecorner/p/6135138.html