当前位置: 首页 > news >正文

深圳html5网站建设网站收录免费咨询

深圳html5网站建设,网站收录免费咨询,群晖 做网站,硬件工程师单一职责原则(SRP):一个类应该只有一个原因引起变化,即一个类应该只负责一项职责。 class User {private $name;private $email;public function __construct($name, $email) {$this->name $name;$this->email $email;}p…
  • 单一职责原则(SRP):一个类应该只有一个原因引起变化,即一个类应该只负责一项职责。
class User {private $name;private $email;public function __construct($name, $email) {$this->name = $name;$this->email = $email;}public function getName() {return $this->name;}public function getEmail() {return $this->email;}
}
  • 开放封闭原则(OCP):软件实体(类、模块、函数等等)应该对扩展开放,对修改封闭。
interface Shape {public function area();
}class Rectangle implements Shape {private $width;private $height;public function __construct($width, $height) {$this->width = $width;$this->height = $height;}public function area() {return $this->width * $this->height;}
}
  • 里氏替换原则(LSP):子类型必须能够替换掉它们的基类型。
class Bird {public function fly() {echo "I can fly.";}
}class Penguin extends Bird {public function swim() {echo "I can swim.";}
}$penguin = new Penguin();
$penguin->fly(); // I can fly.
$penguin->swim(); // I can swim.
  • 接口隔离原则(ISP):不应该强迫客户端实现它们不需要的接口。
interface Flyable {public function fly();
}interface Swimmable {public function swim();
}class Bird implements Flyable, Swimmable {public function fly() {echo "I can fly.";}public function swim() {echo "I can swim.";}
}
  • 依赖倒置原则(DIP):高层模块不应该依赖于低层模块,它们都应该依赖于抽象。抽象不应该依赖于细节,细节应该依赖于抽象。
abstract class Animal {protected $name;public function __construct($name) {$this->name = $name;}public function getName() {return $this->name;}
}class Dog extends Animal {public function bark() {echo "Woof!";}
}
  • 合成/复用原则(CAR):要尽量使用合成/复用代码,而不是重新编写代码。
class Math {public function add($a, $b) {return $a + $b;}public function subtract($a, $b) {return $a - $b;}public function multiply($a, $b) {return $a * $b;}public function divide($a, $b) {if ($b == 0) {throw new Exception("Division by zero");}return $a / $b;}
}$math = new Math();
echo $math->add(1, 2); // 3
echo $math->subtract(5, 3); // 2
echo $math->multiply(2, 3); // 6
echo $math->divide(6, 2); // 3
  • 最小知识原则(LKP):一个对象应该只和它周围的世界发生耦合,而不应该与外部世界发生太多的交互。
class User {private $name;private $age;public function __construct($name, $age) {$this->name = $name;$this->age = $age;}public function getName() {return $this->name;}public function getAge() {return $this->age;}
}class Order {private $user;private $items;public function __construct(User $user, array $items) {$this->user = $user;$this->items = $items;}public function getUser() {return $this->user;}public function getItems() {return $this->items;}
}

php controller services dao logic model 是怎么交互的怎么个职责

在一个典型的PHP应用中,通常会采用MVC(Model-View-Controller)的设计模式来组织代码。在这种模式下,Controller、Service、DAO(Data Access Object)、Logic和Model各自承担不同的责任:

  1. Model:

    • Model 代表了应用程序的数据结构。它通常包含了与数据相关的业务逻辑、数据的访问、以及持久化等。
    • 在一个PHP应用中,Model通常指代数据对象,比如一个数据库表对应的模型,或者其他数据实体。
    • Model 负责与数据库交互,进行数据的读取、写入、更新等操作。
  2. DAO (Data Access Object):

    • DAO 是用来与数据源进行交互的一个层。它提供了一个抽象接口,使得应用程序可以独立于具体的数据存储方式(比如数据库)。
    • DAO 负责处理底层的数据库操作,包括连接数据库、执行SQL查询等。
    • DAO 将数据库返回的数据转化为适合应用程序使用的数据格式,通常是Model。
  3. Logic:

    • Logic 层是业务逻辑的处理部分,它包含了应用程序的主要业务逻辑。
    • Logic 层不应该直接与数据库交互,而是通过调用Service来实现业务需求。
  4. Service:

    • Service 提供了一个高级的接口,用于实现特定的业务逻辑。
    • Service 层负责协调多个Model和DAO,实现复杂的业务逻辑,同时也是Controller和Model之间的桥梁。
    • Service 可以调用多个DAO来获取数据,也可以对数据进行处理后返回给Controller。
  5. Controller:

    • Controller 接收来自用户的请求,并决定如何响应。它是用户与应用程序之间的接口。
    • Controller 负责调用适当的Service来处理业务逻辑,并将结果返回给View或者前端。

交互流程:

  1. Controller调用Service:

    • Controller 接收到用户的请求后,根据请求的内容调用相应的Service。
    • Service 接收到请求后,会根据业务逻辑调用相应的DAO或者Logic来完成具体的任务。
  2. Service协调Model和DAO:

    • Service 可以调用多个Model和DAO来满足业务需求。
    • Service 可以处理Model之间的关系,进行数据的组合或拆分。
  3. DAO与数据库交互:

    • DAO 负责与数据库进行交互,执行SQL查询,返回结果给Service。
  4. Logic处理业务逻辑:

    • Logic 负责处理复杂的业务逻辑,它可能需要对多个Model进行操作,以实现特定的业务需求。
  5. Model处理数据:

    • Model 负责与数据相关的逻辑,可能包括数据的验证、转换、持久化等。
  6. 结果返回给Controller:

    • 最终结果会从Service返回给Controller,然后Controller可以将结果展示给用户,或者进行其他处理。

总的来说,各层之间的交互是有层次关系的,Controller是接收用户请求的入口,Service是处理业务逻辑的核心,DAO负责数据库交互,Logic处理业务逻辑的具体细节,Model负责数据的处理。它们共同协作,使得应用程序可以有组织、高效地处理业务需求。


http://www.hkea.cn/news/934754/

相关文章:

  • 十堰城市建设网站制作自己的网站
  • 传媒网站建设公司深圳百度seo优化
  • 公司需要网站 该怎么做公司推广咨询
  • 高中男女做那个视频网站seo做的好的网站
  • 网站建设 摄影服务上海seo网站排名优化公司
  • 网页设计中html代码seo博客网站
  • 怎样建设小游戏网站google关键词搜索技巧
  • 淘宝 客要推广网站怎么做全媒体广告代理
  • 那个b2b网站可以做外贸武汉全网推广
  • 深圳css3网站开发多少钱如何策划一个营销方案
  • 织梦统计网站访问量代码网络营销公司如何建立
  • 外贸营销型网站建设今日最新重大新闻
  • 个性化定制网站长春网络推广优化
  • 合肥庐阳区疫情最新消息seo优化首页
  • h5网站制作接单最新中高风险地区名单
  • 北京市住房城乡建设委网站公司怎么在网上推广
  • 网站建设首页怎样插入视频百度指数在线查询小程序
  • 青州网站制作哪家好aso优化哪家好
  • wordpress做网站优点郑州网站seo优化
  • 宝安做棋牌网站建设找哪家公司好湖南长沙疫情最新消息
  • 四川专业网站建设中国十大企业培训机构排名
  • 怎么切页面做网站灰色词首页排名接单
  • 网站右侧浮动广告代码百度推广代理公司广州
  • 固原建站公司旺道seo推广系统怎么收费
  • 适合做外链的网站海外广告联盟平台推广
  • 建筑模板规格型号郑州厉害的seo顾问
  • ppt做书模板下载网站有哪些内容国际婚恋网站排名
  • 上海网站建设内容更新网络营销策划目的
  • 重庆市建设信息网站关键词查询网
  • 做哪种网站流量大怎么打广告宣传自己的产品