軟體體繫結構的重構——定義

來源:互聯網
上載者:User

以前做過一個產品,共分為三層:平台層,應用伺服器層,應用程式層。其中有一個商務程序,實現是在應用程式層,但它那裡的資訊不全,需要通過應用伺服器層向平台層擷取必要的業務資料,然後通過應用伺服器層控制商務程序。當時考慮這個結構的時候,主要的出發點就是業務和控制分離,將業務處理從平台層剝離開來。當時,在具體是實施過程中,我們工程師對這種結構抵觸心理很強烈。他認為我們的業務開發非常的繁瑣,而且經常要貼“狗皮膏藥”。

先拋開上面這個執行個體的設計思路,這裡面反映出一個問題:軟體開發過程中,軟體體繫結構同樣需要“重構”

結合經典的《重構》,這裡簡單的寫一下軟體體繫結構重構的定義,原因,設計,方法。僅作拋磚引玉,希望能和大家一起思考。

何謂重構

對軟體體繫結構的一種調整,目的是在不改變其“外在行為”的前提下,調整其結構,使其易於修改,維護和理解。

為何重構

1、使整個系統易於添加新的功能。為系統添加新功能將會非常的容易。

2、調整系統中各個模組的功能,角色,使整個系統更容易理解。
何時重構

由於系統結構的重構成本非常高,所以要選擇一個合適的重構時機。

1、為系統添加功能時重構。此時項目進度壓力如果非常大,這放棄此時重構。

2、軟體第一個版本開發完畢後重構。在第一個版本開發完畢,第二個版本開發之前,根據第一個版本的開發經驗,對系統進行重構。

3、開發出系統原型時進行重構。開發出一個系統的原型的時候,如果發現系統需要重構,這及時的進行,這個時候重構成本較低,但對是否重構決策要求較高。

重構的必要條件

重構之前必須為軟體系統建立一個可靠的、自動化的功能測試環境,這樣才能有效防止重構帶來的危害。好的測試時重構的根本。重構之前,首先檢查自己是否有一套可靠的測試機制。這些測試必須有自我檢驗(selfchecking)能力。

重構與設計

系統架構層次的重構,因為重構的成本相對較高,所以預先設計的程度要相對較深,要盡量考慮系統可能遇到的情況,方案要適當的靈活和強固。盡量減少系統結構的重構。

軟體體繫結構的重和代碼的重構的區別

1、針對的層次不同:一個是系統結構層次的,一個是代碼層次的。

2、重構成本不同,系統結構的重構成本相對較高。

3、是否重構的決策者不同。

4、重構的時機不同。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.