手记

【九月打卡】第12天--大话PHP设计模式第十三章节代理模式

课程名称:大话PHP设计模式

课程章节: 13-1PHP代理模式 14-1面向对象设计基本原则
课程链接

主讲老师:Rango

课程内容

学习到了代理模式的定义和代码实现。14-1章节讲述了面向对象编程的基本原则,更加深入了解了面向对象编程。

课程收获

一、PHP代理模式

定义

代理模式是一种结构型设计模式, 让你能够提供对象的替代品或其占位符。 代理控制着对于原对象的访问, 并允许在将请求提交给对象前后进行一些处理。
代理对象(Proxy)还可以与业务代码分离,部署到另外的服务器。业务代码中通过RPC来委派任务

代码实现

interface IUserProxy
{
    function getUserName($id);
    function setUserName($id,$name);
}

class Proxy implements IUserProxy
{
    function getUserName($id)
    {
        $db = Factory::getDatabase('slave');
        $db->query("select name from user where id = $id limit 1");
    }

    function setUserName($id,$name)
    {
        $db = Factory::getDatabase('master');
        $db->query("update user set name = $name where id = $id limit 1")
    }
}

$proxy = new Proxy;
$proxy->getUserName($id);
$proxy->setUserName($id,$proxy);

一、面向对象编程的基本原则

1. 单一职责原则(Single Responsibility Principle)

每一个类应该专注于做一件事情。

2. 里氏替换原则(Liskov Substitution Principle)

所有引用某类的地方必须透明的使用其子类。也就是使用了多态。开闭原则和里氏替换原则是配合使用的,结合使用就是策略模式

3. 依赖倒置原则(Dependence Inversion Principle)

①高层次的模块不应该依赖低层次的模块,应该依赖于其抽象。
②抽象不依赖于细节,细节依赖于抽象

4. 接口隔离原则(Interface Segregation Principle)

某个类不应该依赖它不需要的接口,应该建立在最小接口上

5. 迪米特法则(Law Of Demeter)

又叫最少知识原则,一个软件实体应当尽可能少的与其他实体发生相互作用。

6. 开闭原则(Open Close Principle)

软件中的对象对于扩展是开放的但是对于修改是封闭的。也就是说软件修改的时候,应该尽量用扩展进行变化,而不是通过修改已有的代码。

7. 组合/聚合复用原则(Composite/Aggregate Reuse Principle CARP)

尽量使用合成/聚合达到复用,尽量少用继承。原则: 一个类中有另一个类的对象。

二、面向接口编程

只需要关心接口,不需要关心实现

课程截图


0人推荐
随时随地看视频
慕课网APP