
设计模式
文章平均质量分 52
meng-xiang
记录点什么
展开
-
一种低冗余、客户端按需获取的API开发方法:map式API开发
map式API开发方法简介为什么叫 map 式?默认情况下API只返回极简的数据结构,最极端的情况,API默认只返回数据ID。客户端通过传参,向API索取自身所需的其它数据,传参越多,返回数据越多。随着业务需求的不断变化,API返回的数据越来越丰富,此时API只需要增加支持的传参,每一种参数都代表API能够提供的一类数据。例如参数 name 对应** ID 和名称**的 map参数 ca...原创 2019-10-24 17:09:30 · 247 阅读 · 0 评论 -
对工厂模式的理解
前言最近在看一本书叫HeadFirst,讲设计模式的。先后看了“观察者模式”和“工厂模式”。目前,趁着业务代码迁移,已经用观察者模式重构了业务的核心部分。至于工厂模式,一直在用,但对于工厂模式是什么,一时表述不清楚。工厂做什么?很明显,工厂用来制造产品。例如,鞋厂的产品是鞋子,汽车厂的产品是汽车。从面向对象的角度讲,工厂负责生产“对象”。为什么要使用工厂模式?从工厂做什么可原创 2015-09-27 18:20:38 · 884 阅读 · 0 评论 -
代码重构之解耦合
重构松耦合设计模式面向接口编程原创 2016-08-22 14:51:42 · 4678 阅读 · 0 评论 -
在业务代码中植入异步通知功能
对异步通知的定位,是作为核心业务的一种补充,应该尽量与核心业务解耦。采用的解耦方式为“事件+监听器”。一些主流的php web框架,如laravel、yii2对“事件+监听器”的支持是“开箱即用”的,只需写少量的代码(通常是增加一些配置项)即可。这里描述的设计思想是“解耦”,是和语言无关的,属于“设计模式”的范畴。概念事件业务系统在某个时机触发事件,例如订单发货了,这时...原创 2018-02-24 11:33:34 · 295 阅读 · 0 评论 -
唯快不破:如何快速处理大量数据
背景将数百张数据结构相同的表(用Tn代表),合并至一张表(用C代表)T表数据量分布很不均衡,少至一位数,多至几十万T表间没有业务关联C表结构在T表结构的基础上增加了几个字段,无法使用INSERT INTO (SELECT * FROM)数据总量约300万,经单进程测试,处理速度约500/s,预估耗时约100min目标最大化提升数据处理速度,将耗时降至10min左右,此时C表的写入...原创 2019-10-10 13:53:30 · 1088 阅读 · 0 评论