熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> .NET編程 >> 正文

ASP.NET MVC 4框架揭秘:自治視圖

2013-11-13 12:32:54  來源: .NET編程 

    自治視圖

  說到自治視圖很多人會感到陌生但是我們(尤其是NET開發人員)可能經常在采用這種模式來設計我們的應用Windows Forms和ASPNET Web Forms雖然分別屬於GUI和Web開發框架但是它們都采用了事件驅動的開發方式所有與UI相關的邏輯都可以定義在針對視圖(Windows Forms或者Web Forms)的後台代碼(Code Behind)中並最終注冊到視圖本身或者視圖元素(控件)的相應事件上

  一個典型的人機交互應用具有三個主要的關注點即數據在可視化界面上的呈現UI處理邏輯(用於處理用戶交互式操作的邏輯)和業務邏輯自治視圖模式將三者混合在一起勢必會帶來如下一些問題

  業務邏輯是與UI無關的應該最大限度地被重用由於業務邏輯定義在自治視圖中相當於完全與視圖本身綁定在一起如果我們能夠將UI的行為抽象出來基於抽象化UI的處理邏輯也是可以被共享的但是定義在自治視圖中的UI處理邏輯完全喪失了重用的可能

  業務邏輯具有最強的穩定性UI處理邏輯次之而可視化界面上的呈現最差(比如我們經常會為了更好地呈現效果來調整HTML)如果將具有不同穩定性的元素融為一體那麼具有最差穩定性的元素決定了整體的穩定性這是短板理論在軟件設計中的體現

  任何涉及UI的組件都不易測試UI是呈現給人看的並且用於與人進行交互用機器來模擬活生生的人來對組件實施自動化測試不是一件容易的事自治視圖嚴重損害了組件的可測試性

  為了解決自治視圖導致的這些問題我們需要采用關注點分離(Seperation of ConcernsSoC)的方針將可視化界面呈現UI處理邏輯和業務邏輯三者分離出來並且采用合理的交互方式將它們之間的依賴降到最低將三者分而治之自然也使UI邏輯和業務邏輯變得更容易測試測試驅動設計與開發變成了可能這裡用於進行關注點分離的模式就是MVC

       返回目錄ASPNET MVC 框架揭秘

       編輯推薦

       Java程序性能優化讓你的Java程序更快更穩定

       Visual C++音頻/視頻技術開發與實戰


From:http://tw.wingwit.com/Article/program/net/201311/16132.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.