【OSGi】2. bundle与模块化

本文介绍了OSGi的模块化概念,包括物理模块化和逻辑模块化,重点解析了bundle的角色及其MANIFEST.MF元数据。内容涵盖bundle的物理和逻辑作用,MANIFEST.MF中的可读信息、bundle标识和代码可见性,并讨论了依赖粒度、导出粒度及bundle JAR与标准JAR的互换使用问题。
摘要由CSDN通过智能技术生成

模块层是OSGi框架的最基础层次,是OSGi其他部分的基础。


1、模块

定义:

一个从逻辑上封装实现类的集合,一个基于实现类子集的可选公共API,一个对外部代码依赖关系的集合。

package是Java提供的一种内建的模块化方式,但它有一些限制:http://blog.csdn.net/vking_wang/article/details/9735395

以上讨论的都是“逻辑模块化”;而对应的“物理模块化”,指的是代码如何封装和部署,例如部署为多个jar。

作用:

高内聚,一个模块专注于单个关注点;

低耦合,模块间耦合度低。


2、bundle

定义:

bundle是一个模块化的物理单元,以jar文件的形式包含代码、资源、元数据。其中jar文件的边界也作为执行时逻辑模块化的封装边界。

2.1 bundle在物理模块化中的作用

  1. 确定模块的成员关系;——如果一个类包含在bundle JAR文件中,那么它就是bundle的成员。灵活。
  2. 作为部署单元使用;
  3. bundle JAR文件是bundle元数据的容器;——用Jar清单文件MANIFEST.MF
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值