日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

关于可扩展的web架构设计的探索-框架结构的描述文件

發(fā)布時間:2025/7/14 编程问答 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 关于可扩展的web架构设计的探索-框架结构的描述文件 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
這兩天我一直在想,怎樣定義框架結(jié)構(gòu)的描述文件。我從以下幾個方面考慮:
  • 完整性。在框架的允許范圍內(nèi)任何情況它都能夠描述。
  • 語義性。所有的描述必須是唯一、明確。
  • 一致性。所有的描述必須是統(tǒng)一,不可相互沖突。
  • 可引用性。所有描述元素必須可達,必須易于訪問。
  • 可維護性。描述文件可配置、可擴展、可再生。
  • 可讀性。所有的描述必須是易于理解。
  • ??? 現(xiàn)在我需要這樣的一個描述文件:描述框架網(wǎng)頁,也就是frame的網(wǎng)頁。 先前我分析了eclipse的插件描述文件。它是這樣定義的:

    <?xml version="1.0" encoding="UTF-8"?> <pluginid="com.nidapeng.eclipse.plugin"name="Welcome to Eclipse"version="1.0"provider-name="Ni Dapeng"> <requires><import plugin="org.eclipse.ui"/> </requires> <runtime><library name="welcome.jar"/> </runtime> <extensionpoint="org.eclipse.ui.views"><categoryname="Welcome"id="com.nidapeng.eclipse.plugin.category1"></category><viewname="Welcome to Eclipse"category="com.nidapeng.eclipse.plugin.category1"class="com.nidapeng.eclipse.plugin.Welcome"id="com.nidapeng.eclipse.plugin.view1"></view> </extension> </plugin>
    ??? plugin.xml中一共有四個主要的標簽:plugin,requires,runtime,extension。其中plugin標簽的屬性提供的是我們要開發(fā)的Welcome插件的基本信息,除了name,version,provider-name等,最重要的是id,我們通過它可以索引到此元素。requires標簽中所列出的是需要的插件,這里我們要用到Eclipse Workbench和SWT API,因此導(dǎo)入了org.eclipse.ui插件。 runtime標簽指明的是我們開發(fā)的插件所在JAR包的文件名。extension標簽是插件擴展點的信息。 org.eclipse.ui.views是Eclipse系統(tǒng)提供的觀察窗口擴展點,我們的例子是一個觀察窗口(View),這表明我們是要在 org.eclipse.ui.views擴展點上進一步開發(fā)。 extension中還包括category和view兩個標簽,并且在view的屬性中聲明了Welcome插件的類名。

    ??? 我以為我發(fā)現(xiàn)了寶貝,興奮了好一陣!你看,多么美妙的結(jié)構(gòu)。包含了外部包的聲明、運行時的庫、擴展點的設(shè)置、視圖的定義。最最閃亮之處就是擴展點。這意味著所有的插件都可以具備容器的能力,插件可以插入另外一個插件里面,插件本身就是個可擴展的。

    ??? 當我著手建立這樣的java模型時候,我遇到難題了。我怎樣才能將插件視圖插入到框架視圖里呢?我怎樣才能實現(xiàn)框架與插件之間的通信,包括事件的傳遞。

    ??? 首先說明一下這個框架的具體的應(yīng)用和所采用的技術(shù)。這個框架是個web應(yīng)用,窗體可配置的,可能是上下一分為二,也可能是左右一分為二等等,并且窗體可嵌套的。窗體的每一區(qū)域具體的視圖也可配置的,可能是個導(dǎo)航條,也可能是個列表框。技術(shù)打算采用struts的架構(gòu),保留action、bean、view。它們可以幫助我們完成其中一些繁重的工作。所以容器管理只能是struts本身的ActionServlet容器或者它的子類。

    ??? Struts是一個高度可配置、高度擴展性的MVC框架,我們幾乎可以用它開發(fā)任何能想到的用Java技術(shù)的Web應(yīng)用。MVC模式的每一部分在Structs中都有相關(guān)對應(yīng)部分。在struts里action是控制層,bean是模型層,view是視圖層。

    ??? 現(xiàn)在我們把框架需求整理一下,以便我們更好的分析和定義框架的描述文件。

  • 窗體可配置
  • 窗體可嵌套
  • 視圖可配置
  • 視圖可定義
  • 建立在struts框架之上
  • ??? 好了,現(xiàn)在知道我們需要做什么了。我們的描述文件里需要包括下列元素:

  • 窗體描述
  • 擴展點描述
  • antion關(guān)聯(lián)
  • ??? 這里沒有視圖描述,因為struts已經(jīng)將action關(guān)聯(lián)了視圖。所以我們只需要管理action就行了。視圖的處理全部交給struts去做了。

    ??? 太累了,這里先放上初步的框架描述文件。以后等大腦清醒了,再闡述~

    <?xml version="1.0" encoding="UTF-8"?> /*begin插件定義*/ <pluginid="com.useeasy.plugin"name="Welcome to frame"version="1.0"provider-name="doJava"> /*begin擴展區(qū)定義*/ <framesetrows="64,*"desc="可擴展插件的web框架"extension="com.useeasy.frame"> <frameid="com.useeasy.header"scrolling="no"noresize="true"action="/headAction"desc="第一個擴展區(qū)" </frame> <frameid="com.useeasy.mainaction="/listAction"desc="第二個擴展區(qū)"> </frame> </frameset> //定義兩個擴展區(qū) /*end擴展區(qū)定義 </plugin> /*end插件定義*/

    ??? 敬請朋友多多指教小弟,使框架更上一層樓!

    ??? 下期就是建模了,敬請關(guān)注啊~



    版權(quán)聲明:CSDN是本Blog托管服務(wù)提供商。如本文牽涉版權(quán)問題,CSDN不承擔相關(guān)責任,請版權(quán)擁有者直接與文章作者聯(lián)系解決。
    發(fā)表于 2004年11月10日 3:49 PM
    http://blog.csdn.net/dojava/archive/2004/11/10/175932.aspx?Pending=true

    轉(zhuǎn)載于:https://www.cnblogs.com/sunsonbaby/archive/2004/11/26/69464.html

    《新程序員》:云原生和全面數(shù)字化實踐50位技術(shù)專家共同創(chuàng)作,文字、視頻、音頻交互閱讀

    總結(jié)

    以上是生活随笔為你收集整理的关于可扩展的web架构设计的探索-框架结构的描述文件的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。