美文网首页
十三、扩展点的设计

十三、扩展点的设计

作者: 此间有道 | 来源:发表于2020-03-21 10:36 被阅读0次

    一、什么是扩展点

    1. 本质是面向接口编程;
    2. 扩展点是一类在系统开发时预留的特殊接口,系统在运行时会动态寻找,装载和执行这类接口的实现。以此来实现对指定功能的扩展,且不需要对已有系统做任何修改。
    3. 只要符合扩展点的契约,任何人在任何时间都可以去扩展特定功能,而不必关心程序的主体逻辑。
    4. 如果不使用扩展点,增加功能势必会修改程序的主体。
    5. 系统开发时,提炼出扩展点,也是系统中各个功能模块抽象度较高的一种表现;

    二、扩展点的优点

    1. 符合开闭原则
    2. 框架的Core是稳定的,扩展已有的功能更简单,只需要两步:
      1)开发新扩展功能;
      2)加入运行时依赖;
    3. Core中可以独立完整运行,并可以限定扩展的范围,且也很容易控制扩展对Core功能造成影响。

    三、如何设计扩展点

    1. 首先要明白要扩展什么?
    2. 抽象出要扩展的接口
    3. 写出扩展加载逻辑等Core逻辑,这个最小的内核,可以独立运行。
      常见的扩展点的加载逻辑有:
      1)Java JDK SPI;
      2)Spring SPI;
      3)eclipse 扩展点;

    四、EDI中的扩展点

    1. Flow的结点支持扩展;
    2. 日志框架支持扩展;
    3. RPC框架支持扩展;
    4. DT支持的协议是扩展的,目前支持X12,Edifact;
    5. DT的功能结点也是扩展的;

    相关文章

      网友评论

          本文标题:十三、扩展点的设计

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