用Dojo和Ajax建立可重用和可重新發布的組件

來源:互聯網
上載者:User

簡介

事實證明,在現有的應用程式中添加功能是軟體開發中最具挑戰性的任務之一。除了不改變現有的代碼外,還要確保新增的代碼滿足所有易用性和效能需求。在本文中,學習如何在 Web 項目的後期階段引入新功能,以及如何無縫地把修改整合到現有項目中。

本文介紹的方法在軟體開發生命週期的以下階段中尤其有意義:

開發階段。客戶要求Team Dev在產品中整合新功能,從而提高易用性(由於項目採用迭代式的敏捷開發方法,這種情況越來越常見了。)這要求在短時間內對新功能進行快速分析和整合,而且不能破壞應用程式的健壯性和標準。

維護階段。常常需要添加和刪除功能。Team Dev還可能需要為特定的客戶接入或取消某些功能。還常常需要進行其他的定製工作。

分析了這個問題之後,團隊應該開發一個靈活的體繫結構,從而支援無縫地添加和刪除功能,而不需要修改產品或應用程式核心功能的代碼。在理想情況下,應該根本不修改屬於核心功能的代碼,因為在這部分代碼的測試和穩定性處理方面已經投入了大量時間。本文中的用例示範如何開發這樣的應用程式,並指出一些挑戰。

用例

一個部落格應用程式已經開發完並投入使用了。但是,客戶又提出了一項新要求:在部落格系統中增加郵件功能。客戶已經有一個郵件伺服器,希望以某種方式把這兩個應用程式整合起來。客戶希望:

每當使用者單擊有效 URL 時,都給他們提供一個視窗。

這個視窗包含郵件組件提供的所有選項。

郵件視窗可以向郵件伺服器發送郵件。

挑戰

Team Dev不願意為了添加郵件功能而修改部落格系統的核心功能,因為這樣做的風險太大了。如果Team Dev在開發核心功能時使用了第三方軟體,而這些軟體不允許他們修改原始碼,那麼情況就更加麻煩了。另外,管理員也反對修改現有的展示層和業務層。

解決方案

Team Dev可以選用兩種方法。圖 1 展示了核心功能和新功能並不緊密整合的方法;體繫結構使新功能與核心功能鬆散地耦合:

圖 1. 核心功能和新功能並不緊密整合

圖 2 展示了核心功能和新功能緊密整合的方法;在這個體繫結構中,新功能成為核心功能的固有部分。

圖 2. 核心功能和新功能緊密整合

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.