• <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來源:作者:點擊數: 標簽:思想
    關鍵字: IoVC,一種新的編程思想 Kevin -------------------------------------------------------------------------------- 1. 概述 2. 什么是IoVC 1. 概述 長久以來,在Web編程中,一直很難克服的一個問題就是:展現層與業務數據糾纏在一起,無法進行良
    關鍵字:

    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

    老湿亚洲永久精品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>