zoukankan      html  css  js  c++  java
  • Provider Policy与Consumer Policy在bnd中的区别

    首先需要了解的是bnd的相关知识:

    1. API(也就是接口),

    2. API Provider(接口的实现)

    3. API Consumer( 接口的使用者)

     OSGi中的一个版本有4个部分:
      major        1
      minor        1.1
      micro        1.1.1
      qualifier    1.1.1.qualifier

      主版本 1
      次版本 1.1
      微版本 1.1.1
      限定符 1.1.1.qualifier

     主版本           破坏前后兼容性变化
      次版本         向后兼容性变化
      微版本           bug的修复(非API变化)
      限定符        新的构建

    Provider Policy其实就是接口实现的版本控制策略,API Provider需要导入API所在的包,那么它的版本变化是随着API所在包的次版本而变化的,例如如果API中添加一个新的方法(次版本发生变化),那么API Provider必须实现这个方法,要不然以后新的客户端调用这个方法时候,就没有实现。

    Consumer Policy就是接口调用者的版本控制策略, Consumer Policy也需要导入API所在的包,它的版本变化是随着API所在包的主版本而变化的,因为即使API中添加了一个新方法,它也用不上,编译中也不会出现错误。但是如果API中删除一个方法(主版本发生变化),它就要发生变化了,因为它原来调用的方法可能已经被删除了,编译也就不能通过了。

    以上,终于把这个以前困扰自己的问题解决了。

    附上官方文档链接:http://bnd.bndtools.org/chapters/170-versioning.html

  • 相关阅读:
    Linux下简单的多线程编程--线程池的实现
    Nginx配置免费SSL证书StartSSL,解决Firefox不信任问题
    php100视频教程解压密码
    PDO防注入原理分析以及使用PDO的注意事项
    php mysql PDO使用
    禁用网页右键菜单和鼠标拖动选择
    php pdo和mysqli对比选择
    PHP-mac下的配置及运行
    550 5.7.1 Client does not have permissions to send as this sender
    Entity framework code first
  • 原文地址:https://www.cnblogs.com/hibou/p/7226318.html
Copyright © 2011-2022 走看看