锁定老帖子 主题:进入Java模块化系统时代,你准备好了么?
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (17)
|
|
---|---|
作者 | 正文 |
发表时间:2010-06-03
最后修改:2010-06-03
使用JIOPi构建工业化模型的Java模块系统系列文章之一 ——进入Java模块化系统时代,你准备好了么?
系统模块化是趋势,工业产品是这样,程序设计亦然。
编程语言大致经历了 机器码->汇编->面向过程->面向对象
每一次前进,都向模块化系统化迈进了一步
那么我们的系统模块化了么?对比工业化产品的模块化程度,显然没有,但探索的步伐没有停止
OSGi给我们展示了嵌入式系统中的模块化系统模型,在嵌入式环境中,很成功。但是,这个模块化系统模型却不适合用于嵌入式系统之外的WEB应用。
那么什么是工业化的模块化系统呢?我们首先来看一个工业化产品的模块化程度吧。
特别说明:下文中的标准化模块并不是说超级标准,而应理解为在一个范围内的标准,大可到世界范围,小可能只存在于一个特定的系统之中
PC,这是一个大家非常熟悉的工业化产品,当然里面用了大量标准化模块,比如CPU,主板,显卡,硬盘,内存。。。PC的模块化程度到了什么地步了呢?你可以任意替换一个PC的这些组成部分,任意排列组合,他们都还能正常工作。
虽然大部分模块在运行时不能热插拔,但是部分模块还是提供了热插拔功能,比如硬盘。
当然,这是我们看到的一个层面,就一个显卡而言,里面又是一个模块化系统,主芯片是nvidia,ati,加工方又是其他厂商。
这是我所能理解到的层次,nvidia的主芯片内部是否又存在一套模块化体系呢?我就不知道了。
以上我能叫得出模块名的,他们其实不是模块,而是蓝图,只有具体到一个具体型号的产品时,才是模块,因此我们说 把CPU插到主板上,这其实是 蓝图 被设计可以这么做,而不是由模块决定的,不同的模块都在执行同一个行业标准,从而使得PC系统成为了一个通用模块化的系统。
如果PC的这些部件都不通用,那即便是模块化了,又有什么意义呢,用户还是只能买某个厂家的品牌机,而且还不能自己升级部件,因此,模块化系统的另一体现是在一定范围内的标准蓝图架构。
工业化产品的模块系统模型给我们展示了一个庞大的,可复用的,可自由组合的 模块化系统架构,以及可灵活局部升级系统的机制(升级内存,硬盘等),你希望你的Java系统也像工业化产品一样可以随时更换零部件来提升功能么?
现在,如果你愿意,你已经可以将你的Java系统升级成这样的一个工业化模块系统了。
你要做的就是在你的工程的lib下方一个50k的Jar包和一个配置文件,下载地址如下 http://dl.iteye.com/topics/download/f2ee9c4a-4f3d-387e-b3cd-0756c5e42599
欢迎各位一同探讨,你希望的 Java模块化系统 是什么样子? 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2010-06-03
补充一句
工业化系统的模块化系统模式是我认为比较不错的模块系统模型,因此我将其作为标准建立了JIOPi模块化系统,很多设计点其实是在模拟工业化系统,比如 JIOPi中的双向插入概念 描绘的情形是 你可以 把 一个对象 插入 另一个对象,配置如下: <socket from="from_obj_id" to="to_obj_id"/> 而这是一次双向插入,即在讲 from插入to的时候,也将to插入了from 并且是一次多点插入,例如 USB 接口,插入时,其实是先插入了数据线,再插入了电源线,同理 上面的 socket 插入时,也可能自动执行了多个 set函数 同USB一样,这是由USB协议决定的,一般用户可能不知道这点 所以 <socket from="from_obj_id" to="to_obj_id"/> 也没有体现出来这点,这些是在 蓝图 类上进行的标注说明 |
|
返回顶楼 | |
发表时间:2010-06-04
说了一堆,不知所云。
|
|
返回顶楼 | |
发表时间:2010-06-04
构想非常好,不过具体到实现的时候不知道效果怎么样?就像OSGi提倡的插件式开发都嚷嚷几年了,到现在好像效果。。。
|
|
返回顶楼 | |
发表时间:2010-06-04
changkunyang 写道 构想非常好,不过具体到实现的时候不知道效果怎么样?就像OSGi提倡的插件式开发都嚷嚷几年了,到现在好像效果。。。
好不好你试试了,目前iBean v0.3.0.0 已经做了 JIOPi v0.3的参考实现,基本实现了我上面说的 工业化模块系统模型,教学文档继续中。。。 |
|
返回顶楼 | |
发表时间:2010-06-04
连一点文档都没有,怎么用?
|
|
返回顶楼 | |
发表时间:2010-06-04
changkunyang 写道 构想非常好,不过具体到实现的时候不知道效果怎么样?就像OSGi提倡的插件式开发都嚷嚷几年了,到现在好像效果。。。
OSGi是针对应用框架和工具化软件来讲的,对于业务应用软件来讲并没有太亮眼的东西。所以大多数业内人士并不容易看到OSGi的成就。 |
|
返回顶楼 | |
发表时间:2010-06-04
更期待module关键字来解决这个问题,而不是利用框架层面。
|
|
返回顶楼 | |
发表时间:2010-06-04
kazy 写道 连一点文档都没有,怎么用?
所以这是系列文章之一罗 有兴趣加入么?写文档比写程序都累 |
|
返回顶楼 | |
发表时间:2010-06-04
JAVA的CLASS不是一个个模块嘛? 程序设计本来就是模块化的。。。
一个又一个组件和运行库一起组成一个应用系统,本来就是模块化的呀 好像并不是什么创新的想法吧? |
|
返回顶楼 | |