S1开发手册
前言
安装
规范
目录结构
框架
程序执行流程
入口文件
验证架构
验证架构
验证架构
验证架构
验证架构
应用模块
依赖注入
控制器架构
逻辑架构
验证架构
模型架构
行为架构
插件架构
服务架构
数据操作
系统常用配置
系统常用常量
系统常用函数
模块开发
模板制作
基础操作
本文档使用
零起飞
构建
服务架构
本文最后编辑时间:
2023-08-02 08:54:02
热度:
577
这里的服务是指一项功能扩展,在系统中建议将可能需要扩展的一组功能封装为服务, 就比如 支付服务,里面包含支付宝,微信 等,研发者可以扩展自己需要的支付。再比如短信服务,里面包含 阿里大鱼 等 短信发送方式,研发者可以扩展自己需要的短信平台。 服务封装的场景很多,就是咱们服务里面有很多服务提供商的情况下,像云存储,里面的服务提供商有 七牛,又拍云,阿里OSS 等,这样说相信大家更容易理解。 那么省市县三级联动插件 为什么不封装为服务呢? 因为省市县三级联动没有服务提供商,网上各种代码实现的效果也都是大同小异,最主要的是 三级联动功能咱们不需要进行横向扩展,顶多也就是将数据表中的城市信息更新一下,所以咱们就将ta封装成插件,方便复用就好咯。 在本系统框架里面 这些服务的提供者就是驱动,比如支付宝,比如七牛云 就是本系统中的服务驱动,支付能力,云存储能力 就是本系统中的服务。 Driver.php 中定义了该服务下所有驱动的对外统一接口,这样研发者就只需要关注怎么实现驱动接口就好,以后新增一个支付服务驱动 比如 银联支付,只需要 实现 支付通知,获取订单 等接口方法就OK了,这样咱们驱动内部具体实现代码不管有多大变化 ,业务逻辑不管有多复杂,对上层提供统一调用方式,上层使用上毫无影响。 这算是在项目实战中使用多态的一种方式,希望童鞋们可以掌握。
零起飞网络版权所有