随笔分类 -  php

摘要:1. 观察者模式 定义对象一对多的依赖关系,当一个对象的状态发生改变时,所有依赖于它的对象都得到通知并被自动更新。 观察者和被观察者都是抽象耦合的 建立一套触发机制 参考链接 2. 类图 3. 实列 interface Observer { // 定义观察者接口,里面有 update 方法 publ 阅读全文
posted @ 2020-12-29 12:15 linsonga 阅读(63) 评论(0) 推荐(0)
摘要:1. 适配器模式 将一个类的接口转换成希望的另外一个接口。 Adapter模式使得原本由于接口不兼容而不能一起工作的那些类可以一起工作 2. 实列 class AliMessage { public function send() { echo "ali发送短信" . PHP_EOL; } publ 阅读全文
posted @ 2020-12-28 22:10 linsonga 阅读(97) 评论(0) 推荐(0)
摘要:1. 装饰器模式 动态地给一个对象添加新的功能,同时又不改变其结构,进行内容扩展 就增加功能来说,Decorator模式相比生成子类更为灵活 参考链接 2. 实列 根据新老用户发送不同的短信模板 interface Template { public function message(); } // 阅读全文
posted @ 2020-12-28 16:54 linsonga 阅读(97) 评论(0) 推荐(0)
摘要:1. 抽象工厂模式 还是将实现推迟到子类,但是抽象工厂里面不仅仅只返回一个对象,而是返回一堆 2. 实列 interface Message { public function send(string $msg); } class AliMessage implements Message { pu 阅读全文
posted @ 2020-12-28 14:27 linsonga 阅读(72) 评论(0) 推荐(0)
摘要:1. 工厂模式 与简单工厂的区别是,将实现推迟到子类 可以不用抽象类,直接用一个接口来定义工厂方法,摒弃掉getMessage()方法,外部直接调用公开的模板方法(factoryMethod)即可 2. 实列 interface Message { public function send(stri 阅读全文
posted @ 2020-12-28 13:43 linsonga 阅读(74) 评论(0) 推荐(0)
摘要:1. 简单工厂模式 简单工厂,也称静态工厂,不属于GoF23种设计模式。可以说是所有的设计模式中大家可能最容易理解的模式 传入指定数据,返回相应的内容 使用接口更加符合面向对象的规范 createMessage 不一定使用 static,看自己业务情况决定 增加发送渠道时,添加新类继承 Messag 阅读全文
posted @ 2020-12-28 12:00 linsonga 阅读(118) 评论(0) 推荐(0)
摘要:1. static 使用 准备一个类,有静态变量、静态方法、普通方法 class Test { static $v = 'a'; static function showV() { echo self::$v; } function showVV() { echo self::$v; } stati 阅读全文
posted @ 2020-12-28 11:07 linsonga 阅读(121) 评论(0) 推荐(0)
摘要:nginx 是一个高性能的 http 和反向代理服务器。也是一个 IMAP/POP3/SMTP 代理服务器。因它的稳定性、丰富的功能集、示例配置文件和低系统资源的消耗 当接收到一个 http 请求时,通过配置文件找到对应的 server。然后匹配 server 中的所有 location,找到最匹配 阅读全文
posted @ 2020-12-01 20:38 linsonga 阅读(254) 评论(1) 推荐(0)