美文网首页
微信小程序开发与AOP编程思想总结

微信小程序开发与AOP编程思想总结

作者: 一生悬命Cat | 来源:发表于2019-02-20 18:11 被阅读0次

小编抽空完成了一个微信小程序商城,从中学到了小程序Api开发的流程 与 AOP面向切面编程思想的好处。
顺便总结一下开发小程序Api的思路:

小程序商城API.jpg

以上是整个小程序Api的开发思路图。
从上图看出整个小程序包括很多个模块(banner,产品,订单,支付等),每一个模块都包含(控制层,Model层,验证层)。
该项目把其中的Model层基类,控制层基类,异常处理层基类,以及验证层基类单独地提取出来,给各个小程序模块调用,体现了Aop面向切面的编程。
微信小程序开发流程:
1.构建验证层 与 异常处理层 (AOP思想)
2.完成各个模块的业务代码 (如上图右侧)

Aop思想体现
1.无论是获取banner或者获取订单,产品等都需要我们验证各个输入参数的格式是否正确,如果不正常就需要进行异常处理抛出错误。
2.把验证层与全局异常层单独提取出来,再开发别的业务逻辑的时候,就不用再写一遍,直接调用该层。

/**
 * Created by Cat.
 * User: Administrator
 * Date: 2019/2/14
 * Time: 20:12
 */
class Banner
{

    public function  getBanner($id){
    new IDMustBePostiveInt(); //全局验证层//全局验证层//全局验证层//全局验证层//全局验证层
    $banner = BannerModel::getBannerByID($id);
     if(!$banner){
           throw new BannerMissException();//异常处理层//异常处理层//异常处理层//异常处理层//异常处理层
       }
     return json($banner);
    }
}
class Product
{
   public function getRecent($count = 15 ){
       new Count();
       $product = ProductModel::getMostRecent($count);
       if($product->isEmpty()){
           throw new ProductException();//异常处理层//异常处理层//异常处理层//异常处理层//异常处理层
       }
       $product=$product->hidden(['summary']);
       return json($product);
   }

小编的BannerMissException() 与 ProductException() 都是统一继承BaseException这个基类,单独把这个基类提取出来实现AOP思想.
我们一般做活动的时候,一般对每一个接口都会做活动的有效性校验(是否开始、是否结束等等)、以及这个接口是不是需要用户登录。

以前编程流程按照正常的逻辑,我们可以这么做。


这里写图片描述

这有个问题就是,有多少接口,就要多少次代码copy。对于一个“懒人”,这是不可容忍的。好,提出一个公共方法,每个接口都来调用这个接口。这里有点切面的味道了。


这里写图片描述

同样有个问题,我虽然不用每次都copy代码了,但是,每个接口总得要调用这个方法吧。于是就有了切面的概念,我将方法注入到接口调用的某个地方(切点)。

这里写图片描述

这样接口只需要关心具体的业务,而不需要关注其他非该接口关注的逻辑或处理。

相关文章

  • 微信小程序开发与AOP编程思想总结

    小编抽空完成了一个微信小程序商城,从中学到了小程序Api开发的流程 与 AOP面向切面编程思想的好处。顺便总结一下...

  • 微信小程序开发教程(1)环境搭建

    微信开发小程序目前只能在微信官方提供的微信web开发者工具上进行编码与调试。但我看到有些大牛将微信小程序编程转移到...

  • 微信小程序开发中的bug总结。

    微信小程序开发中的bug总结。

  • 微信小程序开发系列六:微信框架API的调用

    微信小程序开发系列教程 微信小程序开发系列一:微信小程序的申请和开发环境的搭建 微信小程序开发系列二:微信小程序的...

  • JavaEE进阶知识学习-----SpringBootWeb进阶

    AOP统一处理请求日志 AOP是一种编程范式,与编程语言无关,是一种程序设计思想。AOP:面向切面编程,OOP:面...

  • java-AOP彻底解析

    AOP是一种编程范式,与语言无关,是一种程序设计思想。面向切面编程(AOP)Aspect Oriented Pro...

  • 前言知识

    两方面: 1、整体的思路与编程思想(大局观、AOP、10~20%) 2、具体的编程知识与技巧(TP5、小程序、数据...

  • 小程序直播功能开发流程

    微信小程序开发需要基于微信提供的开发者工具与 SDK。如果开发者对小程序开发流程不熟悉,建议先系统学习:微信小程序...

  • 2018-03-23

    乐山微信小程序开发,乐山小程序定制,乐山企客猫微信小程序开发公司 实体店凭借什么与微信小程序组成一对CP? 在移动...

  • 微信小程序的开发与原理

    微信小程序的开发与原理 1, 小程序与普通网⻚开发的区别 小程序的主要开发语言是 JavaScript ,小程序的...

网友评论

      本文标题:微信小程序开发与AOP编程思想总结

      本文链接:https://www.haomeiwen.com/subject/ibahyqtx.html