设计模式
do better myself
学无止境、只有不断的学习,你才不会被社会淘汰!加油吧!少年!
展开
-
短信服务拆分实现思路
1.先把要发生的短信数据入队列,然后后台起脚本处理,不管处理成功和失败都会往短信发送表sms写记录。 2.传入类型:type:注册,回息,验证 channel:是通知类的还是营销类的。原创 2017-03-01 11:44:26 · 534 阅读 · 0 评论 -
php 工场模式
概念工厂设计模式提供获取某个对象的新实例的一个接口,同时使调用代码避免确定实际实例化基类步骤。很多高级模式都是依赖于工厂模式。好处PHP中能够创建基于变量内容的类的新实例,减少主代码流中的基于条件复杂性;同时如果类发生改变不需要所有的地方进行修改,只需要在工厂中进行修改(无论对象被修改或者添加其他对象,Factory对象调用方式仍让是相同的)(集中实例化)应用场景做支付接口的时候,未来可能对应不同...原创 2018-01-19 13:36:07 · 181 阅读 · 0 评论 -
php观察者模式
定义:当一个对象状态发生改变时,依赖他的对象全部得到通知 优点:低耦合、非侵入式 /** * 观察者模式应用场景实例 * * 免责声明:本文只是以哈票网举例,示例中并未涉及哈票网任何业务代码,全部原创,如有雷同,纯属巧合。 * * 场景描述: * 哈票以购票为核心业务(此模式不限于该业务),但围绕购票会产生不同的其他逻辑,如: * 1、购票后记录文本日志转载 2018-02-06 13:59:26 · 236 阅读 · 0 评论 -
PHP设计模式之适配器模式
适配器模式(有时候也称包装样式或者包装)将一个类的接口适配成用户所期待的。一个适配允许通常因为接口不兼容而不能在一起工作的类工作在一起。应用场景如程序数据库有关联mysql、mysqli、pdo、sqlite、postgresql等操作,而你需要根据情况换数据库操作时,可以使用适配器模式统一接口,这样代码中除了数据库配置之外,就不需要做而外的更改。同理cache(缓存)的场景也是,无论使用memc...转载 2018-03-20 10:43:26 · 168 阅读 · 0 评论 -
php设计模式之命令链模式
1. 使用场景1. 命令连模式可以使用在用户登陆注册的时候处理不同角色用户的业务逻辑,与变量值 <?php/** * command interface **/interface MyCommand{ public function onCommand( $name, $args );}//user registerclass Register{ private $_comman...转载 2018-04-10 17:19:19 · 292 阅读 · 0 评论 -
PHP策略模式
例如:一个电商网站系统,针对男性女性用户要各自跳转到不同的商品类目,并且所有广告位展示不同的广告6 项目应用6.1 需求说明 实现一个商场收银系统,商品可以有正常收费,打折收费,返利收费等模式(来之《大话设计模式》)6.2 需求分析 按照需求,可以将收费操作设计成为一个接口算法,正常收费,打折收费,返利收费都继承这个接口,实现不同的策略算法。然后设计一个环境类,去维护策略的实例。6.3...转载 2018-04-10 18:01:43 · 227 阅读 · 0 评论 -
php外观模式
意图:为子系统中的一组接口提供一个一致的界面,外观模式定义了一个高层接口,这个接口使得这一子系统更加容易使用。 主要解决:降低访问复杂系统的内部子系统时的复杂度,简化客户端与之的接口。 何时使用: 1、客户端不需要知道系统内部的复杂联系,整个系统只需提供一个”接待员”即可。 2、定义系统的入口。 如何解决:客户端不与系统耦合,外观类与系统耦合。 关键代码:在客户端和复杂系统之间再加一层,这一层将调...转载 2018-04-28 10:58:44 · 283 阅读 · 0 评论 -
php 代理模式
1. 在客户端与实体之间建立一个代理对象(proxy),客户端对实体进行的操作全部委派给代理对象,隐藏实体的具体实现细节。2. Proxy还可以与业务代码分离,部署到另外的服务器,业务代码中通过RPC来委派任务。//代理接口 interface Proxy { public function getUserName($id); public function setUserNam...转载 2018-06-01 10:57:28 · 300 阅读 · 0 评论 -
js 拼接值
$('.likeAnchor').click(function(){ var cate_id = $('#cat_id').val(); var type = $(this).attr('data-type'); window.location = '/article/add/'+cate_id+'?device_type='+type; }); '+变量+' ...原创 2019-07-29 10:13:36 · 559 阅读 · 0 评论