
设计模式
William-A
爱武爱书爱自己
展开
-
注册树模式
注册树模式可以集中管理对象,方便调用。下面让单例模式跟注册树模式来个小小的结合代码:// final禁止继承final class Singleton{ // 保存实例 private static $instance; // 防止类在外部被实例化 private function __construct() { } // 防止对象被复制原创 2017-01-17 18:22:33 · 742 阅读 · 0 评论 -
工厂模式
工厂模式,我的理解是为了方便管理同一个类的实例。要创建多个类的实例的时候,每一次实例化都需要new创建,当需要修改类名的时候就很不方便,而工厂模式为此提供了便利,只需要修改一个地方即可同时修改多个实例;同时,可以让子类根据情况创建实例。代码:class Factory{ public static function createTest() { return new原创 2017-01-17 22:47:22 · 240 阅读 · 0 评论 -
单例模式
最近做项目感觉代码规划得不太好,于是想深入了解下设计模式。在这写写博客加深一下印象。首先来聊聊单例模式吧。 单例模式保证了全局该类只有一个实例,想多次使用该类的时候不需要频繁创建与销毁,节省了系统资源。代码:// final禁止继承final class Singleton{ // 保存实例 private static $instance; // 防止类在外部被实例化原创 2017-01-17 16:17:05 · 237 阅读 · 0 评论 -
观察者模式
被观察对象通过添加一个方法注册观察者,使本身变得可观察,在执行可观察方法时,可发送消息给已注册的观察者,使得对象间可以相互对话。以下是观察者模式的示例:// 观察者接口interface IObserver{ // 观察者接收被观察者的消息,$sender是被观察者,$args是相应的参数 function receive( $sender, $args );}// 被观察者接原创 2017-02-15 15:24:41 · 263 阅读 · 0 评论