关于《.COM Framework》设计想法

来源:互联网 发布:苹果mac更换mbp内屏 编辑:程序博客网 时间:2024/06/07 03:06
每一次开发新的软件时候,总是重写一些主框架,子框架,下拉菜单,工具条等这些控件的部分功能。好多的时间都在干着重复性工作。
例如Word.exe项目和Excel.exe项目,都存在主框架,工具条,菜单条。但是Word.exe项目中改变了主框架和工具条风格的代码,Excel.exe项目重新编译才能风格一致。是否有一种方法在改动主框架和工具条代码后,只用编译工具条风格代码段,而不用编译Word.exe和Excel.exe呢。答案一定是有的。
 
打开Microsoft Office Word 2003和 Microsoft Office Excel 2003应用程序,就会发现主框架、菜单风格,工具条风格和关于对话框风格一样。这段风格代码并不可能都编译在两个应用程序中,而是放在某一个文件中,共Microsoft Office 中的应用程序调用。从而实现代码共享,并且支持二次开发,当然二次开发功能是使用COM技术,第三方程序可以自由地向Microsoft Office 应用程序中添加工具条和菜单项等。如金山快译,东方快车等应用程序都向Microsoft Office 的应用程序中加入了自己的工具条。
我们现在暂时把Microsoft Office 使用的框架命名为《Microsoft Office 应用程序框架》(MSOFrame),它的实现似乎是存放在C:/Program Files/Common Files/Microsoft Shared/Office10/mso.dll这个文件中。Mso.dll也会随着Microsoft Office 版本升级变大,从8MB,9MB到 Microsoft Office 2003的11MB。同时文件夹也会变为 …/Microsoft Shared/Office11/mso.dll。
每一位熟悉Microsoft Office产品的人可能都注意到了。微软公司每一次对Office 的升级会加入新的组件,他们的框架风格却是一样。像Office 2003中新加入的,Office InfoPath 和Office Publisher。
 
       MSOFrame十分友好的设计,也被Microsoft Visual Studio 开发小组加强并引入到Microsoft Visual Studio产品中。这个框架更加疯狂,也许更接近一种追求。这个框架我们暂时称为“vsFrame”。
从Microsoft Visual Studio .NET 2001 版到 Microsoft Visual Studio 2005,从MSDN Library for Visual Studio .NET 2002 版到MSDN Library for Visual Studio .NET 2005,可以说使用同一个应用程序框架。主窗口的统一窗口类名是“wndclass_desked_gsk”,并且,支持二次开发。
下面这幅图是Microsoft Visual Studio 与 vsFrame的调用关系想象图。
 
 
在使用Microsoft Visual Studio .net 2002以上版式本的时候,你应该非常清晰地记得,可以把MSDN Library中的Contents 、Index、Search 面板,嵌入到Microsoft Visual Studio IDE的左侧或者是右侧,而MSDN 的帮助内容是以子窗口方式显示。
对vsFrame来说,它就是桌子的桌面,我们可以把茶壶和茶碗或者是其它物品放在上面,也可以把桌面上拿走。
 
这就是我想用COM技术去开发应用程序框架的一些零碎的想法。
于是我就动手写《.COM Framework》试验性的程序,功能非常的简单,支持菜单、子窗口和命令的处理,没有别的其它功能,而且菜单也不能变灰。
经过两个测试程序测试后,给我的答案是:用COM技术编写应用程序框架是完全可行的。经过几个月后,正试推出《.COM Framework1.5
 
 
《.COM Framework》Website: http://www.softg.net
原创粉丝点击