114培訓(xùn)網(wǎng)歡迎您來(lái)到欣才IT!

400-850-8622

全國(guó)統(tǒng)一學(xué)習(xí)專線 8:30-21:00

      Java靈活性和可擴(kuò)展性通常成對(duì)出現(xiàn)。程序的模型越是抽象,越要求靈活性和可擴(kuò)展性??蛻粼谛枨竺枋龅某跏茧A段往往對(duì)自己的業(yè)務(wù)模型并不熟悉??蛻舨皇菙?shù)學(xué)家和 計(jì)算機(jī)專家,他們對(duì)自己的需求很難抽象出一個(gè)精確的模型來(lái),這使得他們只能給出一個(gè)模糊的抽象的業(yè)務(wù)模型。拙劣的程序員往往將用戶給的模糊模型根據(jù)自己的 理解后,定義出一個(gè)自己認(rèn)為準(zhǔn)確和精確的模型。在軟件提交后,用戶就會(huì)往往發(fā)現(xiàn)這不是我所要,或者是我要的,但只是其中情況的一種。于是,這兒添一點(diǎn)功 能,那兒添一點(diǎn)功能。程序設(shè)計(jì)的時(shí)候由于模型抽象層次不高,造成的靈活性和可擴(kuò)展性比較差,這時(shí)程序員的末日來(lái)了。

  因此一個(gè)好的程序員不僅僅是寫一段美觀高效的代碼,更重要是要有出眾的設(shè)計(jì)能力。良好的設(shè)計(jì)能給實(shí)現(xiàn)帶來(lái)很好的靈活性和可擴(kuò)展性。高級(jí)的程序員首先應(yīng)該是一個(gè)高級(jí)的程序設(shè)計(jì)師,這樣的程序員不僅要有良好的需求分析能力,還要有高超的模式設(shè)計(jì)能力。

  在獲知抽象的業(yè)務(wù)模型后,如何設(shè)計(jì)你的程序,使其具有高度的靈活性和可擴(kuò)展性是每個(gè)程序員應(yīng)該關(guān)心的問題。在Java中,讓一個(gè)程序具有靈活性和可擴(kuò)展性的方法不外乎以下幾種方式:

  1.程序級(jí)別的靈活性,主要通過參數(shù)化配置程序低級(jí)別的靈活性。

  2.高度可配置性,包括各種虛擬機(jī)參數(shù)、屬性文件和XML配置文件。

  3.腳本。腳本是擴(kuò)展復(fù)雜功能的利器,但對(duì)用戶的要求也比較高。通常應(yīng)該面向開發(fā)人員的工具產(chǎn)品?;蛘咴诋a(chǎn)品部署之前由現(xiàn)場(chǎng)實(shí)施人員來(lái)完成。

  4.插件系統(tǒng)或者模塊化平臺(tái)。插件系統(tǒng)平臺(tái)從理論上提供了無(wú)數(shù)的可擴(kuò)展性。比如Eclipse和NetBeans平臺(tái)。這兒是抽象的*點(diǎn),產(chǎn)品可以一無(wú)用處,也可以無(wú)所不能。完全看市場(chǎng)有什么插件,用戶怎么配置。

  靈活性和可擴(kuò)展性固然有好處,但是不應(yīng)該成為需求采集和分析階段偷懶的依據(jù)。因?yàn)殪`活性和可擴(kuò)展性不是都是好的,任何事情都有雙面性。靈活性和可擴(kuò)展性對(duì)于開發(fā)者來(lái)說減小的開發(fā)和維護(hù)成本,但是如果客戶服務(wù)做的不好,往往是客戶的噩夢(mèng)。很明顯,這些問題包括:

  1.易用性。越是靈活,用戶的使用難度就越大,如果沒有產(chǎn)品的現(xiàn)場(chǎng)實(shí)施人員的服務(wù),對(duì)于非計(jì)算機(jī)人專業(yè)用戶來(lái)說,這實(shí)際增加了他們使用的難度。 Eclipse的平臺(tái)正在展現(xiàn)這種問題,雖然它的用戶主要是開發(fā)者,即時(shí)插件文檔做得很好,但是很多人不得不抱怨Eclipse需要太多得配置和技巧。另 外典型的例子是Windows和Linux要求有不同能力的人來(lái)使用,原因在于,Linux的靈活性和可擴(kuò)展性也是其易用性差的原因之一。

  2.穩(wěn)定性。越是靈活和可擴(kuò)展,其穩(wěn)定性越差。這主要是靈活性帶來(lái)的現(xiàn)實(shí)世界的排列組合太多了,版本之間的兼容性,大范圍開發(fā)者之間的協(xié)作就不可避免的差 了。作為這方面的例子應(yīng)該說eclips表現(xiàn)的比較明顯了。由于版本沖突的問題,造成Eclipse經(jīng)常因?yàn)椴徽_的配置插件而Crash。

  3.性能。微內(nèi)核/插件模式設(shè)計(jì)的缺點(diǎn)表現(xiàn)在不同插件之間的交互性能損失上。Unix系統(tǒng)之所以沒有采取現(xiàn)代操作系統(tǒng)所提倡的微內(nèi)核模式,恐怕原因也在于此。

  盡管有上面的缺點(diǎn),現(xiàn)代軟件理論還是非常提倡靈活性和可擴(kuò)展性的。靈活性和可擴(kuò)展性付出的代價(jià)應(yīng)該在軟件服務(wù)中得到彌補(bǔ)。靈活性和可擴(kuò)展性是現(xiàn)代軟件工程 著重解決的目標(biāo)之一,它不僅僅能提高軟件的質(zhì)量,也使得軟件開發(fā)過程的質(zhì)量得到提高。尤其是大型的軟件,模塊化不僅僅是靈活性和可擴(kuò)展性的基礎(chǔ),也是軟件 開發(fā)協(xié)作的基礎(chǔ)。

溫馨提示:為不影響您的學(xué)業(yè),來(lái)校區(qū)前請(qǐng)先電話咨詢,方便我校安排相關(guān)的專業(yè)老師為您解答
  • 詳情請(qǐng)進(jìn)入欣才IT
  • 已關(guān)注:12832
  • 咨詢電話:
相關(guān)資料
姓名不能為空
手機(jī)號(hào)格式錯(cuò)誤