为了账号安全,请及时绑定邮箱和手机立即绑定

大话PHP设计模式

Rango PHP开发工程师
难度中级
时长 3小时30分
学习人数
综合评分9.57
139人评价 查看评价
9.7 内容实用
9.4 简洁易懂
9.6 逻辑清晰
  • http://img1.sycdn.imooc.com//5d8835200001f28908560846.jpg

    策略模式,瞎猜想像成,原先有不同的有热水(AD)和冷水(Category)开关的饮水机,里面已经装着不同的饮料(male,或female),想喝那个就去走向那个,开启哪个开关,现在改为,只要一个饮水机(通用),先选择原料包,然后再装入桶里(通用),这样,下次我要另外的口味,只需选择好原料倒进桶里即可,而不用每次喝不同饮料,就增加多一个饮水机

    查看全部
  • mysqli 

    什么是面向对象和面向过程 

    protated

    查看全部
  • 面向对象的基本原则

    查看全部
  • 观察者模式

    查看全部
  • 3种设计模式

    查看全部
  • 适配器模式

    将不同的方法统一接口方法

    查看全部
    • __set($key, $value) 成员属性赋值时,若不存在该成员属性则自动调用

    • __get($key) 获取成员属性时,若不存在该成员属性则自动调用

    • __call($func, $patam) 调用方法时,若不存在该方法则自动调用

    • __callStatic($func, $patam) 调用静态方法时,若不存在该方法则自动调用(此魔术方法也需要声明为静态)

    • __toString() 当一个类被当成字符串使用时,自动调用

    • __invoke($param) 当一个类被当成函数使用时,自动调用

    查看全部
    1. 单一职责

    2. 可扩展替代修改

    3. 低耦合,使用依赖注入

    4. 可配置化

    5. 面向接口而不关心实现




    查看全部
    1. 什么时候用抽象类,什么时候用接口 

      >方法的实现的区别

    2. 为什么用抽象类,不直接使用普通的基类

      >抽象类不能被实例化,该场景也确实不需要实例化,不是不能,对于只是作为被继承的基类的时候,抽象类用起来更优雅一些。

    3. 策略模式和观察者模式有什么区别

      >其实从理念来讲,都是因“异”而异,策略模式侧重因人而异,选择对应的处理策略,往往是多个策略择其一;观察者模式侧重事件触发时的后续处理,后续处理的逻辑往往需要设计成可以排列组合的。

    查看全部
  • // php 链式操作实现原理
    // class 普通实现
    class DB
    {   
        function all()
        {
                // 在需要链式操作的每个方法后面返回 calss 本身
            return $this;
        }
    }
    
    // __call 和 call_user_func_array 实现
    class Foo
    {
        function __call($function, $args)
        {
            call_user_func_array([$this, $function], $args);
            return $this;
        }
    }


    查看全部
  • // spl 标准库常用数据结构
    
    // 栈
    $stack = new SplStack();
    // 队列
    $queue = new SplQueue();
    // 最小堆
    $minHeap = new SplMinHeap();
    // 固定长度数组
    $array = new SplFixedArray();


    查看全部
    0 采集 收起 来源:SPL标准库简介

    2019-06-14

  • // php自带函数 自动加载未定义的类 
    // 在整个php 运行上下文中只许存在一个 __autoload
    function __autoload($class){
        // 引导代码
    }
    
    // 注册自定义的自动加载函数
    // 允许注册多个
    spl_autoload_register('divAutoloadFunction');

    扩展:
        PHP: 类的自动加载

    查看全部
    0 采集 收起 来源:类自动载入

    2019-06-13

  • ArrayAccess自动加载配置类

    查看全部
    0 采集 收起 来源:自动加载配置

    2019-06-05

  • 代理模式:用于数据库的读写分离。

    查看全部
    0 采集 收起 来源:[php]代理模式

    2019-06-05

  • 迭代器模式

    类继承implements  \Iterator

    查看全部

举报

0/150
提交
取消
课程须知
要想更好的掌握本课课程的重点内容,那么熟知面向对象的相关知识是必不可少的。
老师告诉你能学到什么?
1、了解PHP的11种设计模式 2、掌握设计模式的编程实现 3、具备使用设计模式进行面向对象编程的能力

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!