zoukankan      html  css  js  c++  java
  • 感想3-对于业务逻辑复用、模板复用的一些思考(未完)

    内容概览:

    • 业务逻辑复用的目的
    • 基于现有场景,如何抽象出初步可复用逻辑
    • 复用业务逻辑会不会产生过度设计的问题

    业务逻辑复用的目的

      我对于业务逻辑复用的理解是忽略实际业务内容,从交互流程、交互逻辑的角度去归纳、总结,提出通用的标准流程或者常用函数,然后再mixins(混入)到业务逻辑中。Mixins有点类似AOP—面向切面编程。所谓的mixins就是将组件里的方法抽出来。实际上Mixins里的this是指向组件的,使用了Mixins以后,组件也可以调用Mixins里的方法。

      好处是共用一些功能,共享一部分代码,这样做我们就到处写重复的代码,降低类型、功能相似业务的开发、维护成本。

    基于现有场景,如何抽象出初步可复用逻辑

      带查询的列表展示页就是一种常见的可抽象出复用功能的业务场景。比如我们可以将这种场景归纳为搜索 => 更新列表。

      搜索本身会有多种出触发方式,搜索条件触发、分页触发、自动更新。除了自动更新,剩下两种方式本质上都是请求参数改变。只要我们做好对参数收集的封装,其余部分都是一样的。如下为各部分大致包含方法:

    • 业务模块:params_collection(参数收集) 、service_get_list_data(获取列表数据的异步请求,用fetch或promise封装)
    • 搜索条件触发mixins:  update_list(更新列表,负责调用service_get_list_data,更新列表数据)、do_query(查询动作,负责调用params_collection、update_list)
    • 分页触发mixins: pagination_change(分页信息更新,负责更新分页信息,然后调用do_query)
    • 自动更新更多的是需要关注定时器的问题,不在本文讨论范围。

      未完待续...

    复用业务逻辑会不会产生过度设计的问题

      未完待续...

  • 相关阅读:
    arcgis server10.2自带打印模板路径
    【js笔记】数组那些事[0]
    微信打开网页不能下载的解决
    CSS里一个奇怪的属性
    存一些有用的CSS
    【JS笔记】闭包
    关于百度空间的关闭
    数据校验插件开发
    JavaScript 内存机制
    手写JQuery 的框架的实现
  • 原文地址:https://www.cnblogs.com/so-letitgo/p/8934950.html
Copyright © 2011-2022 走看看