摘要:观察者模式 1:观察者模式(Observer),当一个对象状态发生变化时,依赖它的对象全部会收到通知,并自动更新。 2:场景:一个事件发生后,要执行一连串更新操作。传统的编程方式,就是在事件的代码之后直接加入处理的逻辑。当更新的逻辑增多之后,代码会变得难以维护。这种方式是耦合的,侵入式的,增加新的逻 阅读全文
posted @ 2019-05-26 22:25 王默默 阅读(265) 评论(0) 推荐(0) 编辑
摘要:适配器模式 将各种截然不同的函数接口封装成统一的API。 PHP中的数据库操作有MySQL,MySQLi,PDO三种,可以用适配器模式统一成一致,使不同的数据库操作,统一成一样的API。类似的场景还有cache适配器,可以将memcache,redis,file,apc等不同的缓存函数,统一成一致。 阅读全文
posted @ 2019-05-26 22:11 王默默 阅读(201) 评论(0) 推荐(0) 编辑
摘要:1.注册模式: 注册模式,解决全局共享和交换对象。已经创建好的对象,挂在到某个全局可以使用的数组上,在需要使用的时候,直接从该数组上获取即可。将对象注册到全局的树上。任何地方直接去访问。 阅读全文
posted @ 2019-05-26 21:13 王默默 阅读(604) 评论(0) 推荐(0) 编辑
摘要:单例模式 单例模式确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实例。 单例模式是一种常见的设计模式,在计算机系统中,线程池、缓存、日志对象、对话框、打印机、数据库操作、显卡的驱动程序常被设计成单例。 单例模式分3种:懒汉式单例、饿汉式单例、登记式单例。 单例模式有以下3个特点: 1.只 阅读全文
posted @ 2019-05-26 20:53 王默默 阅读(215) 评论(0) 推荐(0) 编辑
摘要:1.策略模式:是对象的行为模式,用意是对一组算法的封装。动态的选择需要的算法并使用。 实现步骤: 1.定义抽象类(定义所有子类必须要实现的共同抽象方法) 2.定义具体策略类(具体实现父类的共同方法) 3.定义环境角色类(私有化申明抽象角色变量,重载构造方法,执行抽象方法) 目的;根据不同渠道实现不通 阅读全文
posted @ 2019-05-26 20:36 王默默 阅读(160) 评论(0) 推荐(0) 编辑
摘要:1.创建型模式这些设计模式提供了一种在创建对象的同时隐藏创建逻辑的方式,而不是使用 new 运算符直接实例化对象。 这使得程序在判断针对某个给定实例需要创建哪些对象时更加灵活。 工厂模式(Factory Pattern) 抽象工厂模式(Abstract Factory Pattern) 单例模式(S 阅读全文
posted @ 2019-05-26 20:10 王默默 阅读(1503) 评论(0) 推荐(0) 编辑
摘要:在 PHP 5.3 之前,__autoload 函数抛出的异常不能被 catch 语句块捕获并会导致一个致命错误(Fatal Error)。 尽管 __autoload() 函数也能自动加载类和接口,但更建议使用 spl_autoload_register() 函数。 spl_autoload_re 阅读全文
posted @ 2019-05-26 16:36 王默默 阅读(989) 评论(0) 推荐(0) 编辑
摘要:1. __construct 具有构造函数的类会在每次创建新对象时先调用此方法;初始化工作执行。2. __desstruct 对象的所有引用都被删除或者当对象被显式销毁时执行。3.__call()在对象中调用一个不可访问方法时,__call() 会被调用。4.__callStatic()在静态上下文 阅读全文
posted @ 2019-05-26 15:54 王默默 阅读(5161) 评论(0) 推荐(0) 编辑
摘要:1.public定义的类或方法;任何类的实例都可以访问 2.private定义的属性和方法;只能该类内部使用;如果子类要访问父类的private属性;必须实现__set()和__get()方法; 3.protected定义的属性和方法;该本类和子类或者父类内部使用。实例对象不可以访问; 输出: 阅读全文
posted @ 2019-05-26 15:14 王默默 阅读(141) 评论(0) 推荐(0) 编辑