关于可扩展的web架构设计的探索-框架结构的描述文件
2004-11-26 21:51
651 查看
这两天我一直在想,怎样定义框架结构的描述文件。我从以下几个方面考虑:
完整性。在框架的允许范围内任何情况它都能够描述。
语义性。所有的描述必须是唯一、明确。
一致性。所有的描述必须是统一,不可相互冲突。
可引用性。所有描述元素必须可达,必须易于访问。
可维护性。描述文件可配置、可扩展、可再生。
可读性。所有的描述必须是易于理解。
现在我需要这样的一个描述文件:描述框架网页,也就是frame的网页。 先前我分析了eclipse的插件描述文件。它是这样定义的:
plugin.xml中一共有四个主要的标签:plugin,requires,runtime,extension。其中plugin标签的属性提供的是我们要开发的Welcome插件的基本信息,除了name,version,provider-name等,最重要的是id,我们通过它可以索引到此元素。requires标签中所列出的是需要的插件,这里我们要用到Eclipse Workbench和SWT API,因此导入了org.eclipse.ui插件。 runtime标签指明的是我们开发的插件所在JAR包的文件名。extension标签是插件扩展点的信息。 org.eclipse.ui.views是Eclipse系统提供的观察窗口扩展点,我们的例子是一个观察窗口(View),这表明我们是要在 org.eclipse.ui.views扩展点上进一步开发。 extension中还包括category和view两个标签,并且在view的属性中声明了Welcome插件的类名。
我以为我发现了宝贝,兴奋了好一阵!你看,多么美妙的结构。包含了外部包的声明、运行时的库、扩展点的设置、视图的定义。最最闪亮之处就是扩展点。这意味着所有的插件都可以具备容器的能力,插件可以插入另外一个插件里面,插件本身就是个可扩展的。
当我着手建立这样的java模型时候,我遇到难题了。我怎样才能将插件视图插入到框架视图里呢?我怎样才能实现框架与插件之间的通信,包括事件的传递。
首先说明一下这个框架的具体的应用和所采用的技术。这个框架是个web应用,窗体可配置的,可能是上下一分为二,也可能是左右一分为二等等,并且窗体可嵌套的。窗体的每一区域具体的视图也可配置的,可能是个导航条,也可能是个列表框。技术打算采用struts的架构,保留action、bean、view。它们可以帮助我们完成其中一些繁重的工作。所以容器管理只能是struts本身的ActionServlet容器或者它的子类。
Struts是一个高度可配置、高度扩展性的MVC框架,我们几乎可以用它开发任何能想到的用Java技术的Web应用。MVC模式的每一部分在Structs中都有相关对应部分。在struts里action是控制层,bean是模型层,view是视图层。
现在我们把框架需求整理一下,以便我们更好的分析和定义框架的描述文件。
窗体可配置
窗体可嵌套
视图可配置
视图可定义
建立在struts框架之上
好了,现在知道我们需要做什么了。我们的描述文件里需要包括下列元素:
窗体描述
扩展点描述
antion关联
这里没有视图描述,因为struts已经将action关联了视图。所以我们只需要管理action就行了。视图的处理全部交给struts去做了。
太累了,这里先放上初步的框架描述文件。以后等大脑清醒了,再阐述~
敬请朋友多多指教小弟,使框架更上一层楼!
下期就是建模了,敬请关注啊~
版权声明:CSDN是本Blog托管服务提供商。如本文牵涉版权问题,CSDN不承担相关责任,请版权拥有者直接与文章作者联系解决。
发表于 2004年11月10日 3:49 PM http://blog.csdn.net/dojava/archive/2004/11/10/175932.aspx?Pending=true
完整性。在框架的允许范围内任何情况它都能够描述。
语义性。所有的描述必须是唯一、明确。
一致性。所有的描述必须是统一,不可相互冲突。
可引用性。所有描述元素必须可达,必须易于访问。
可维护性。描述文件可配置、可扩展、可再生。
可读性。所有的描述必须是易于理解。
现在我需要这样的一个描述文件:描述框架网页,也就是frame的网页。 先前我分析了eclipse的插件描述文件。它是这样定义的:
<?xml version="1.0" encoding="UTF-8"?> <plugin id="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> <extension point="org.eclipse.ui.views"> <category name="Welcome" id="com.nidapeng.eclipse.plugin.category1"> </category> <view name="Welcome to Eclipse" category="com.nidapeng.eclipse.plugin.category1" class="com.nidapeng.eclipse.plugin.Welcome" id="com.nidapeng.eclipse.plugin.view1"> </view> </extension> </plugin> |
我以为我发现了宝贝,兴奋了好一阵!你看,多么美妙的结构。包含了外部包的声明、运行时的库、扩展点的设置、视图的定义。最最闪亮之处就是扩展点。这意味着所有的插件都可以具备容器的能力,插件可以插入另外一个插件里面,插件本身就是个可扩展的。
当我着手建立这样的java模型时候,我遇到难题了。我怎样才能将插件视图插入到框架视图里呢?我怎样才能实现框架与插件之间的通信,包括事件的传递。
首先说明一下这个框架的具体的应用和所采用的技术。这个框架是个web应用,窗体可配置的,可能是上下一分为二,也可能是左右一分为二等等,并且窗体可嵌套的。窗体的每一区域具体的视图也可配置的,可能是个导航条,也可能是个列表框。技术打算采用struts的架构,保留action、bean、view。它们可以帮助我们完成其中一些繁重的工作。所以容器管理只能是struts本身的ActionServlet容器或者它的子类。
Struts是一个高度可配置、高度扩展性的MVC框架,我们几乎可以用它开发任何能想到的用Java技术的Web应用。MVC模式的每一部分在Structs中都有相关对应部分。在struts里action是控制层,bean是模型层,view是视图层。
现在我们把框架需求整理一下,以便我们更好的分析和定义框架的描述文件。
窗体可配置
窗体可嵌套
视图可配置
视图可定义
建立在struts框架之上
好了,现在知道我们需要做什么了。我们的描述文件里需要包括下列元素:
窗体描述
扩展点描述
antion关联
这里没有视图描述,因为struts已经将action关联了视图。所以我们只需要管理action就行了。视图的处理全部交给struts去做了。
太累了,这里先放上初步的框架描述文件。以后等大脑清醒了,再阐述~
<?xml version="1.0" encoding="UTF-8"?> /*begin插件定义*/ <plugin id="com.useeasy.plugin" name="Welcome to frame" version="1.0" provider-name="doJava"> /*begin扩展区定义*/ <frameset rows="64,*" desc="可扩展插件的web框架" extension="com.useeasy.frame"> <frame id="com.useeasy.header" scrolling="no" noresize="true" action="/headAction" desc="第一个扩展区" </frame> <frame id="com.useeasy.main action="/listAction" desc="第二个扩展区"> </frame> </frameset> //定义两个扩展区 /*end扩展区定义 </plugin> /*end插件定义*/ |
下期就是建模了,敬请关注啊~
版权声明:CSDN是本Blog托管服务提供商。如本文牵涉版权问题,CSDN不承担相关责任,请版权拥有者直接与文章作者联系解决。
发表于 2004年11月10日 3:49 PM http://blog.csdn.net/dojava/archive/2004/11/10/175932.aspx?Pending=true
相关文章推荐
- SQL Server 高可用性
- 架构设计备注(用户以及操作权限管理)
- 用多层架构构建一个简易留言本
- 中文搜索引擎技术揭密:系统架构
- 终于在MSDN中文网站上看到了“博客园”的链接了
- 精品网站鉴赏
- 麦当劳英文官方网站将香港台湾列为国家
- 《十面埋伏》韩国官方网站
- 搜索引擎架构
- java 网站
- 给大家介绍韩语学习的网站
- 应用Rational工具简化基于J2EE项目(五)架构与设计
- 下面是应用SharePoint开发的网站的截图,个人感觉很不错
- 伟大架构师的秘密
- 网站重构
- 网站重构的思考
- PMP考试结果查询网站
- 应用Rational工具简化基于J2EE项目(五)架构与设计
- 正在学的FLASH:原灵动嘻哈势力网站制作教程
- 网站建设之网站建设之登录搜索引擎失败的原因