• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
    • 軟件測試技術
    • 軟件測試博客
    • 軟件測試視頻
    • 開源軟件測試技術
    • 軟件測試論壇
    • 軟件測試沙龍
    • 軟件測試資料下載
    • 軟件測試雜志
    • 軟件測試人才招聘
      暫時沒有公告

    字號: | 推薦給好友 上一篇 | 下一篇

    IoVC,一種新的編程思想

    發布: 2008-10-27 11:16 | 作者: 不詳 | 來源: 測試時代采編 | 查看: 46次 | 進入軟件測試論壇討論

    領測軟件測試網
    關鍵字:

    IoVC,一種新的編程思想
    Kevin

    --------------------------------------------------------------------------------

    1. 概述
    2. 什么是IoVC
    1. 概述
    長久以來,在Web編程中,一直很難克服的一個問題就是:展現層與業務數據糾纏在一起,無法進行良好的解耦, 從而造成應用系統的擴展性差,維護成本高。于是,出現了所謂的MVC框架,試圖以 Model-View-Control 這種非常流行的設計模式,將兩者有效的隔離開來。但回顧目前主流的 Web MVC 架構,它們所做的絕大部分工作無非是:將頁面中控件的值取出打包成 Java Bean;再無非就是在幫助你完成頁面導航的過程中,輔助你進行頁面參數的傳遞與分析。這樣一種“簡單 MVC”架構,是無法完全解決“展現層與業務數據完全解耦”這個問題的。 一旦你的需求超越了框架的能力,那么,你將面對的依然是:不得不在展現層中嵌入大量的 Script 代碼,可能是Java代碼片斷,也可能是大量tag-lib及EL表達式的引入。

    在Apusic OperaMasks 2.0中,提出了一種新的編程思想:IoVC,它能夠有效解決上面提及的問題。


    2. 什么是IoVC
    IoVC——“Inversion of View-Control”,即“視圖控制反轉”,換言之:它能夠把對“View(即 UI 視圖)的控制力”注入到你的后臺業務邏輯中。這樣一來,你在編寫業務邏輯的過程中,對 View 擁有足夠的控制力,從而能夠將展現層與業務邏輯完全的解耦。

    舉一個場景:頁面中有一個文本輸入框,它的值對應后臺的一個JavaBean的屬性。我們首先來看一下傳統的編程模型:

    頁面:后臺:public class MyBean { private String value; public String getValue() { return value; } public void setValue(String value) { this.value = value; }}
    此時,假設用戶需要發生變化,我們需要設置文本輸入框的tooltip,并且,它的值來自于后臺 JavaBean 的另一個屬性,那么,程序需要做如下調整:

    延伸閱讀

    文章來源于領測軟件測試網 http://www.kjueaiud.com/

    TAG: 思想 IoVC

    31/3123>

    關于領測軟件測試網 | 領測軟件測試網合作伙伴 | 廣告服務 | 投稿指南 | 聯系我們 | 網站地圖 | 友情鏈接
    版權所有(C) 2003-2010 TestAge(領測軟件測試網)|領測國際科技(北京)有限公司|軟件測試工程師培訓網 All Rights Reserved
    北京市海淀區中關村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
    技術支持和業務聯系:info@testage.com.cn 電話:010-51297073

    軟件測試 | 領測國際ISTQBISTQB官網TMMiTMMi認證國際軟件測試工程師認證領測軟件測試網

    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>