美文网首页
PHP设计模式

PHP设计模式

作者: Mr_Arvin | 来源:发表于2018-01-08 15:01 被阅读0次

    一:工厂模式

        最常用的设计模式就是工厂模式。在这个模式下,需要一个用来创建你需要的对象的类。

    二:单例模式

        构造函数__construct()被声明为 protected 是为了防止用new操作符在这个类之外创建新的实例。

        魔术方法__clone()被声明为 private 是为了防止用clone操作符克隆出新的实例.

        魔术方法__wakeup()被声明为 private 是为了防止通过全局函数unserialize()反序列化这个类的实例。

        新的实例是用过静态方法getInstance()使用后期静态绑定生成的。这允许我们对Singleton类进行继承,并且在取得SingletonChild的单例时不会出现问题。在大多数情况下,依赖注入可以(并且应该)代替单例类。

    三:策略模式

        使用策略模式,你可以把不同的算法(业务)封装到不同的类中,使 client 类可以在不知道具体实现的情况下选择实例化其中一个算法。

        封装算法的接口:interface OutputInterface

        实现调用不同算法的类:Client ,client类有一个必须在运行时设置的私有属性,并且是“OutputInterface”类型的

        test.php:需要调用的文件

    四:前端控制器模式

        前端控制器模式就是给你的 web 应用程序设置单一的入口(比如 index.php),用来集中处理所有请求的机制。 它的职责是载入所有依赖,处理请求,并发送响应给浏览器。前端控制器模式对整个架构是有益的,因为它鼓励模块化代码,并给了你一个单入口,可以写一些每个请求都需要跑的代码(比如输入数据的过滤)。

    五:模板方法设计模式(数据库操作可应用此模式)

    1. 保护抽象类中定义算法顺序的方法不被子类修改。

    2. 分离可变及不可变部分,让子类自己决定可变部分的实现。

    3. 让算法的具体实现对子类开放,对其他类关闭。

    注意:架构模式

        MVC是大多数框架采用的架构模式,并不属于设计模式。

        M:模型用来作为数据访问层,并以应用中通用的格式返回数据。

        V:视图用来展示需要在响应中使用的模板(markup, xml 等等)。

        C:控制器处理请求,处理从模型层返回的数据,并载入视图,发送响应。

    相关文章

      网友评论

          本文标题:PHP设计模式

          本文链接:https://www.haomeiwen.com/subject/bddlwxtx.html