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

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

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

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

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

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

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

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

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

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

  • 相关阅读:
    LeetCode Binary Tree Inorder Traversal
    LeetCode Populating Next Right Pointers in Each Node
    LeetCode Construct Binary Tree from Inorder and Postorder Traversal
    LeetCode Reverse Linked List II
    LeetCode Populating Next Right Pointers in Each Node II
    LeetCode Pascal's Triangle
    Palindrome Construct Binary Tree from Preorder and Inorder Traversal
    Pascal's Triangle II
    LeetCode Word Ladder
    LeetCode Binary Tree Zigzag Level Order Traversal
  • 原文地址:https://www.cnblogs.com/zzzz76/p/7759389.html
Copyright © 2011-2022 走看看