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

十三、扩展点的设计

作者: 此间有道 | 来源:发表于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的功能结点也是扩展的;

相关文章

  • 十三、扩展点的设计

    一、什么是扩展点 本质是面向接口编程; 扩展点是一类在系统开发时预留的特殊接口,系统在运行时会动态寻找,装载和执行...

  • 扩展点设计

    02_扩展点设计 一、业务举例 供应链的业务中,一个业务流程涉及到多个节点,并且每个节点的实现逻辑不同,如下图所示...

  • COLA的扩展性使用和源码研究

    cola扩展点使用和设计初探 封装变化,可灵活应对程序的需求变化。 扩展点使用 步骤: 定义扩展点接口,类型可以是...

  • 源码修炼笔记之Dubbo扩展点机制详解

    Dubbo具有良好的扩展性,其扩展性依赖于dubbo使用的各种设计模式和扩展点加载机制,本文对Dubbo SPI加...

  • 对软件设计可扩展性的思考

    通常设计软件的时候, 可扩展性是一个设计的考量点。 可扩展性的优点自然很多,如:增加需求的迭代速度, 提高维护效率...

  • 系统设计-扩展知识点

    在持久化的技术上,Java的持久化技术框架包括CMP、Hibernate、iBatis和JDO等。其中CMP(Co...

  • 常用代码扩展点设计方式

    [TOC] 在平时业务开中经常会遇到不同业务走不同的业务逻辑,为了代码的扩展性,不得不采取一些手段来对进行解耦,本...

  • 2021-03-14

    请求链接,稍后更新 扩展点简述 扩展点的生命周期及扩展点的执行时机 扩展点的作用 扩展点实战 更多Spring扩展...

  • 2021-03-14-1

    请求链接,稍后更新 扩展点简述 扩展点的生命周期及扩展点的执行时机 扩展点的作用 扩展点实战 更多Spring扩展...

  • Spring ApplicationContextAware扩展

    请求链接,稍后更新 扩展点简述 扩展点的生命周期及扩展点的执行时机 扩展点的作用 扩展点实战 更多Spring扩展...

网友评论

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

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