開發框架的選擇和設計經驗談

發表于:2009-12-30來源:作者:點擊數: 標簽:
開發 框架的選擇和設計經驗談 軟件測試 理解什么是框架 框架,即Framework。其實就是某種應用的半成品,就是一組組件,供你選用完成你自己的系統。簡單說就是使用別人搭好的舞臺,你來做表演。而且,框架一般是成熟的,不斷升級的軟件。 可以說,一個框架是

   開發框架的選擇和設計經驗談   軟件測試 

    理解什么是框架

  框架,即Framework。其實就是某種應用的半成品,就是一組組件,供你選用完成你自己的系統。簡單說就是使用別人搭好的舞臺,你來做表演。而且,框架一般是成熟的,不斷升級的軟件。

  可以說,一個框架是一個可復用的設計構件,它規定了應用的體系結構,闡明了整個設計、協作構件之間的依賴關系、責任分配和控制流程,表現為一組抽象類以及其實例之間協作的方法,它為構件復用提供了上下文(Context)關系。因此構件庫的大規模重用也需要框架。

  框架的概念最早起源于Smalltalk環境,其中最著名的框架是Smalltalk 80的用戶界面框架MVC(Model-View-Controller)。

  框架目前還沒有統一的定義,其中Ralph Johnson所給出的定義基本上為大多數研究人員所接受:

  一個框架是一個可復用設計,它是由一組抽象類及其實例間協作關系來表達的 【Johnson 98】。

  這個定義是從框架內涵的角度來定義框架的,當然也可以從框架用途的角度來給出框架的定義:

  一個框架是在一個給定的問題領域內,一個應用程序的一部分設計與實現【Bosch 97】。

  框架要解決的問題

  框架要解決的最重要的一個問題是技術整合的問題,在J2EE的框架中,有著各種各樣的技術,不同的軟件企業需要從J2EE中選擇不同的技術,這就使得軟件企業最終的應用依賴于這些技術,技術自身的復雜性和技術的風險性將會直接對應用造成沖擊。而應用是軟件企業的核心,是競爭力的關鍵所在,因此應該將應用自身的設計和具體的實現技術解耦。這樣,軟件企業的研發將集中在應用的設計上,而不是具體的技術實現,技術實現是應用的底層支撐,它不應該直接對應用產生影響。

  為什么要進行框架開發

  框架的最大好處就是重用??蚣苤苑Q為框架,是因為它可以重用。在軟件組織中形成以框架為核心的開發方式,在開發中使用框架,并在開發完成后改進框架。在這個反覆的過程中,重用的工作就已經開展起來了。面向對象系統獲得的最大的復用方式就是框架,一個大的應用系統往往可能由多層互相協作的框架組成??蚣苣苤赜迷O計。它提供可重用的抽象算法及高層設計,并能將大系統分解成更小的構件,而且能描述構件間的內部接口。這些標準接口使在已有的構件基礎上通過組裝建立各種各樣的系統成為可能。只要符合接口定義,新的構件就能插入框架中,構件設計者就能重用構架; 框架還能重用分析。所有的人員若按照框架的思想來分析事務,那么就能將它劃分為同樣的構件,采用相似的解決方法,從而使采用同一框架的分析人員之間能進行溝通。

  框架的再一個好處就是可以優化架構。軟件架構,亦即體系結構,包括組件元素、元素互助合作模式、基礎要求與限制。這說明架構的設計就是將各組件元素以某些理想的合作模式組織起來,以達成系統的基本功能和限制??蚣芷鋵嵕褪窃谔囟I域基于體系結構的可重用的設計,即框架是體系結構在特定領域下的應用??蚣艽砹艘环N優秀的軟件架構??蚣芏x了擴展方式,從而規范了框架的使用行為。這使得軟件能夠保持整體架構的穩定性和一致性。

  采用框架技術進行軟件開發的主要特點包括:領域內的軟件結構一致性好;建立更加開放的系統;重用代碼大大增加,軟件生產效率和質量也得到了提高;軟件設計人員要專注于對領域的了解,使需求分析更充分;存儲了經驗,可以讓那些經驗豐富的人員去設計框架和領域構件,而不必限于低層編程;允許采用快速原型技術;有利于在一個項目內多人協同工作;大粒度的重用使得平均開發費用降低,開發速度加快,開發人員減少,維護費用降低,而參數化框架使得適應性、靈活性增強。

  框架對組織的作用

  知識積累??蚣艿暮诵膬r值是對知識的積累。軟件開發是一項知識性的活動。但是知識存在于人的大腦中,是最難進行積累的。而在軟件開發中,代碼是最確定的知識,人和機器通過瀏覽代碼都能夠了解代碼所表達的意思,而且不會出現不同的理解。所以,從代碼出發進行知識的積累是最佳的辦法??蚣芫褪沁@種思路的產出物??蚣馨舜罅康拇a,這些代碼是對某個特定問題領域中抽象概念及這些抽象概念之間關系的描述。所以,框架能夠勝任知識積累的工作。

  保護資產。知識積累本身就是一項對資產的保護工作。而另一項很重要的保護工作就是軟件組織(尤其是企業)需要保證對知識的學習和改進是經過合法授權的。例如,知識的非法外流是任何組織都不希望看到的。將知識積累為框架的形式有助于緩解這種情況。

  框架好壞關系J2EE項目成敗

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97