zoukankan      html  css  js  c++  java
  • 那熟悉的接口--最近做服务端的感悟

    完整的风控项目必定编译打包生成了一颗树(这个过程咱们先不分解,因为实际上咱们也可以看得到这棵树被完整的打包编译了出来)
    上面的树指的是关系树,物理上依旧是各自独立的模块

    api部分只需选定#一个#树节点进行依赖(看似蜻蜓点水,威力却巨大),依赖后,我们可以很容易的顺着依赖进入不属于API项目本身的部分
    可以从实际的jar包中进入,也可以从版本库的pom文件中进入(实际都是在仓库里一层一层的进入)

    所以,咱们这一蜻蜓点水,逻辑上只是点了一个树节点,物理上导入的依赖包却是节点下的整颗树
    于是乎,在逻辑上也可以进行子树节点的调用,api也可以顺利编译了

    虽然编译通过,但此时的api只是选定风控树的对外节点进行依赖的(其实就算你有整颗风控树,你也只能带动对外节点的子树),就像两个三角形他们只有边角的一部分进行了覆盖,那么对上面三角形的染色最多遮挡到另一个三角形的一部分,完美解耦合!!

    这时项目能通过编译不错,但一定跑不起来,水往低处流,一旦流至叶子节点(风控对外接口),只能停止。

    换句话说,我给你两个三角形边角依赖的项目,你从其中依赖方起项目,一定起不来。

    一定要先起被依赖方,再起依赖方,当两个项目都起来时,web容器会起到导流的作用,当水流至最低点的接口时,被引流到了被依赖方的高处(bean的注入)

    接下来两个项目组,协调,上线,版本迭代都没问题了哈哈

    这时你发现,通过接口居然能使两个项目完完全全独立开发,接口的作用在多个项目中被不断放大,你是不是得换个更大的角度重新思考看待一下接口呢,之前接触的的设计模式是不是也可以重新理解一遍了呢

  • 相关阅读:
    Activit 5.13 工作流部署新版本后回退到上一个版本
    一个java的http请求的封装工具类
    FastJSON使用例子
    SoapUI、Postman测试WebService
    PLSQL连接oracle数据库
    python函数修饰符@的使用
    QEMU KVM Libvirt手册(8): 半虚拟化设备virtio
    QEMU KVM Libvirt手册(7): 硬件虚拟化
    多个router和多个network
    nova file injection的原理和调试过程
  • 原文地址:https://www.cnblogs.com/zzzz76/p/7759389.html
Copyright © 2011-2022 走看看