偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

OSGi為什么重要:向模塊化轉(zhuǎn)移的主攻手

原創(chuàng)
開發(fā) 后端
OSGi是一個(gè)Java企業(yè)級(jí)開源框架,近年來得到了很多方面的關(guān)注。本文作者Patrick認(rèn)為OSGi是過去20年間興起的一種革命性的技術(shù),因?yàn)樗砹碎L(zhǎng)期軟件開發(fā)發(fā)展中下一個(gè)合理的步驟。他評(píng)論OSGi的優(yōu)勢(shì)在于提供了標(biāo)準(zhǔn)的Java軟件包,是從非模塊化轉(zhuǎn)移到模塊化的重要技術(shù)。

【51CTO快譯】本文為JavaLobby社區(qū)上的一篇文章。OSGi是一個(gè)Java企業(yè)級(jí)開源框架,近年來得到了很多方面的關(guān)注??吹胶芏嗖┛臀恼露荚谠儐朞SGi為什么重要,OSGi的推廣者Patrick Paulin寫下了此文。如果你同很多人一樣,也在環(huán)顧著OSGi使用量的增加,同時(shí)想知道它對(duì)你來說是否重要,那么請(qǐng)看他的答案。

51CTO編輯推薦:OSGi入門與實(shí)踐全攻略

Patrick:我要以一個(gè)非常大膽的說法開始,即OSGi是在過去20年間興起的最重要的技術(shù)之一。聽起來雖然不算什么,但OSGi確實(shí)是一種革命性的技術(shù)。事實(shí)上,OSGi非常重要,因?yàn)樗砹碎L(zhǎng)期軟件開發(fā)發(fā)展中下一個(gè)合理的步驟。

OSGi的開端

為了能夠讓你理解我的意思,讓我們回到20到30年前。那時(shí)候,面向?qū)ο笳Z(yǔ)言剛開始流行,我們之所以采用面向?qū)ο笳Z(yǔ)言的主要原因之一是,它能夠讓我們隱藏很多代碼的實(shí)現(xiàn)細(xì)節(jié)。

從過程式語(yǔ)言到面向?qū)ο笳Z(yǔ)言的轉(zhuǎn)變,讓我們能夠開發(fā)類,定義訪問權(quán)限,共享公共方法。

過程式語(yǔ)言到面向?qū)ο?src="http://images.51cto.com/files/uploadimg/20090507/133758401.jpg"

其結(jié)果是,我們的大部分代碼在其類外是不可見的。這對(duì)我們開發(fā)軟件的方式產(chǎn)生了深刻的影響。通過接受這種明顯的可見度限制,我們獲得了極大的使用自由。我們可以自由地重用類,而不需要知道它們的實(shí)現(xiàn)細(xì)節(jié)。我們可以自由地重構(gòu)我們的代碼,而不必?fù)?dān)心類的使用者。

你能想像如果開發(fā)軟件而沒有信息隱藏是多么痛苦嗎?

OSGi的優(yōu)勢(shì)

現(xiàn)在設(shè)想如果不僅可以隱藏類的方法,還可以隱藏JAR中的整個(gè)類集,那將會(huì)是一種怎樣的情形呢。設(shè)想JAR可以定義類運(yùn)作的公共規(guī)則,這些規(guī)則將被應(yīng)用于開發(fā)和運(yùn)行時(shí)。設(shè)想我們可以獲得信息隱藏的所有的優(yōu)點(diǎn)(管理復(fù)雜性,代碼重用,易測(cè)性,重構(gòu)等)。

OSGi讓這一切成為了可能。它提供了標(biāo)準(zhǔn)的Java軟件包,作為一個(gè)新的信息隱藏單元。當(dāng)我們的代碼是運(yùn)行在一個(gè)OSGi框架內(nèi)時(shí),JAR中的每個(gè)包對(duì)于使用者來說都可以可見或隱藏。

JAR包

就如同類可以用一組小的公共方法來描述其與使用者之間的規(guī)則,一個(gè)模塊化的Jar文件(OSGi術(shù)語(yǔ)稱bundle)用一組小的導(dǎo)出包來描述公共規(guī)則。大部分代碼都隱藏在內(nèi)部包中,對(duì)于其它JAR并不可見。

設(shè)想可以重命名類、分割或合并類、把類從一個(gè)包轉(zhuǎn)移到另一個(gè)包、把整個(gè)包從一個(gè)JAR移動(dòng)到另一個(gè)JAR,所有這些操作都不必?fù)?dān)心會(huì)影響到JAR的使用者。這么多種類型的重構(gòu)操作現(xiàn)在都不必再擔(dān)心會(huì)出問題?;诎鼘哟蔚男畔㈦[藏給予我們施行重構(gòu)的信心,讓我們能夠及時(shí)迎合用戶的需求。

相關(guān)閱讀:JAR文件包及jar命令詳解

模塊化不可避免

OSGi如果想獲得成功,基于JAR層次的信息隱藏是不可避免的。在今后5到10年,我們將考慮是否有可能不采用這種機(jī)制。

目前,OSGi是我們不得不完成這一使命的唯一工具。幸運(yùn)的是,OSGi是一個(gè)考慮周全、測(cè)試良好、基于標(biāo)準(zhǔn)的解決方案。我想不出任何開發(fā)OSGi替代品的理由(除了可能會(huì)修改它的名字)。OSGi就在這里,它工作良好,讓我們使用它吧。

OSGi時(shí)代來臨

Steve McConnell曾說過一句非常漂亮的話,這句活真正接觸到了OSGi正努力實(shí)現(xiàn)的核心目標(biāo)。

在Code Complete中,他寫道:

“通過增加聚集粒度,軟件開發(fā)已經(jīng)在很大程度上取得了進(jìn)步?!?/P>

因?yàn)檫@種聚集的粒度是如此重要,從非模塊化轉(zhuǎn)移到模塊化,同從過程化轉(zhuǎn)移到面向?qū)ο蠡瑯又匾?0年來,我們一直局限于使用類作為提取單元,現(xiàn)在正是向模塊轉(zhuǎn)移的時(shí)候,OSGi時(shí)代即將來臨。

原文:Why is OSGi important by Patrick Paulin

【編輯推薦】

  1. 初探Java企業(yè)級(jí)開源框架OSGi
  2. 基于OSGi和Spring開發(fā)Web應(yīng)用
  3. OSGi和Java企業(yè)級(jí)開發(fā)的未來方向
  4. 專題:Java基礎(chǔ)教程
責(zé)任編輯:yangsai 來源: 51CTO.com
相關(guān)推薦

2010-03-24 08:34:44

OSGiJava模塊化

2010-03-08 12:57:08

微軟IT PAC模塊化數(shù)據(jù)中心

2018-06-21 09:36:09

模塊化數(shù)據(jù)中心集中化

2010-03-11 08:57:59

OSGi

2019-08-28 16:18:39

JavaScriptJS前端

2020-09-17 10:30:21

前端模塊化組件

2020-09-18 09:02:32

前端模塊化

2022-02-14 10:58:16

模塊化數(shù)據(jù)中心數(shù)據(jù)中心

2022-09-05 09:01:13

前端模塊化

2009-09-16 16:35:08

OSGi是什么OSGi容器

2016-10-09 11:03:41

Javascript模塊化Web

2022-09-21 11:51:26

模塊化應(yīng)用

2018-10-25 15:20:17

區(qū)塊鏈去中心化互聯(lián)網(wǎng)

2013-08-20 15:31:18

前端模塊化

2017-05-18 10:23:55

模塊化開發(fā)RequireJsJavascript

2010-10-26 13:44:15

2015-10-10 11:29:45

Java模塊化系統(tǒng)初探

2022-03-11 13:01:27

前端模塊

2010-05-28 10:31:28

模塊化IT

2021-07-14 09:26:51

UPS電源模塊化
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)