
设计模式
文章平均质量分 92
tangqing24680
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
PHP设计模式之-单例模式
在开发中,我们常常会遇到类的多次加载的问题,而我们实际又只需要加载一次即可,故出现了单例设计模式。只需要 new 一次即可保证不能被覆盖保证不能被克隆<?php class Single { private static $instance = null; public static function getInstance() { if (self::...原创 2019-08-19 16:58:53 · 105 阅读 · 0 评论 -
自动加载实现桥接模式-命名空间的引入
自动加载规范PSR-4类泛指:类,接口,抽象类,trait等可复用的代码命名空间:\顶级命名空间\子命名空间(可以有多个子命名空间)\完整类名psr-4规定必须有一个如上说的顶级命名空间,表示一个特殊的文件目录。类名可以大小写(建议统一大写)一个文件中只有一个类方便测试:下面 A 目录表示:项目根目录自动加载核心代码#目录:A/vendor/Loader.phpclass L...原创 2019-08-28 17:46:47 · 159 阅读 · 0 评论 -
PHP设计模式----装饰器模式
在不修改核心功能的情况下进行装饰,称之为装饰器模式。主类不必修改连续添加修饰类,不影响核心功能—主类/** * User: Victor * Date: 2019/8/23 * Time: 10:29 *///装饰器模式class BaseArt{ protected $content; protected $art = null; public ...原创 2019-08-23 11:40:19 · 132 阅读 · 0 评论 -
PHP模式----适配器模式
开发中,我们经常会做一些API,以供各种客户端调用,我们把这种模式叫做适配器模式适用于各种客户端;简单,方便。//简单天气API:api.phpclass WeatherApi{ public static function show() { $today = ['tep' => 28, 'wind' => 10, 'sun' => ...原创 2019-08-23 15:24:59 · 114 阅读 · 0 评论 -
PHP设计模式之工厂模式
PHP工厂模式面向对象法则:重要的开闭原创—对于修改是封闭,对于扩展是开放的<?php //开放数据库连接接口(数据库连接工厂) interface Db { public function conn(); } //开放创造数据库的接口(创造数据库工厂) interface Factory { public function createDb(); }...原创 2019-08-16 17:00:58 · 141 阅读 · 0 评论 -
PHP设计模式---策略模式
最近,写策略模式的时候,发现和工厂模式差不多,有点混淆不清,特意说说的它们的差异。实现方式(1)工厂模式返回的就是一个对象工厂,让使用者自己调用相应的工厂方法,又叫创建行模式;(2)策略模式返回的是直接结果,无需触碰里面的实现方法(聚合),又叫行为模式。关注点(1)一个关注对象创建;(2)一个关注行为的封装。<?php interface MathCal { ...原创 2019-08-21 16:16:42 · 113 阅读 · 0 评论 -
PHP设计模式-责任链模式
功能开发中,会遇到一些事件的处理,按照不同级别,处理不同的事情,我们称之为责任链模式 。无法处理,则层层汇报。class board{ protected $lev = 1; protected $toplev = 'admin'; public function process($lever) { if ($lever <=...原创 2019-08-20 17:59:24 · 148 阅读 · 0 评论 -
JS 之设计模式-观察者模式
HTML+JS 实现观察者模式JS实现两端:服务端和客户端HTML实现界面风格<!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8"> <title>Title</title></head><body>&...原创 2019-08-20 14:35:55 · 144 阅读 · 0 评论 -
PHP设计模式之-观察者模式
开发中,有些验证功能需要我们实现,类似于这类功能,我们往往可以通过观察者模式去实现。下面分析下观察者模式。遵循单一职责原则 对于不同的验证,可以向外扩展,无需修改内部结构。 符合观察者与被观察者的模式<?php class user implements SplSubject { public $lognum; public...原创 2019-08-20 11:57:28 · 110 阅读 · 0 评论 -
PHP设计模式----桥接模式
程序开发中,我们面对不同的信息(M种信息,用不通的工具(N种工具)发送,按照单一职责原则,我们可能需要使用M*N种类来完成此项功能,这样会使程序显得非常臃肿,所以,需要用一种方式来完成此项工作-----桥接模式原理:把发送工具(发送器),当做一个父类的一个属性来调用发送工具中的方法,来进行消息发送。abstract class info{ protected $send = null...原创 2019-08-23 17:14:38 · 152 阅读 · 0 评论 -
学习用composer开自己的php扩展包
composer 是PHP用来管理依赖关系的工具详情可以阅读:https://www.phpcomposer.com/安装 见 https://www.phpcomposer.com/开发流程初始化自己的扩展包 composer init$ composer init Welcome to the Composer config generator This comm...原创 2019-08-30 15:06:03 · 1000 阅读 · 0 评论