DOTNET平台组件配置工具的设计与实现
为了保证该可视化工具识别关键字的准确性,程序员在编写IOC组件时要遵循以下规约:
(1) 要求IOC组件类的修饰符为“Public”
(2) 要求类中的全局变量都声明为“Private”
(3) 要求属性的修饰符为“Public”
(4) 要求构造方法的修饰符为“Public”
第三层是页面层。主要负责页面可视化设计。页面层用到了TreeView、Datagrid、TabControl、ContextMenuStrip等控件。TreeView控件以树形结构展示了当前读入的组件;Datagrid控件用来展示选中组件的构造方法参数或属性,并可以设置其参数值或属性值;ContextMenuStrip控件用于控制添加和删除组件操作;TabControl控件则是其他控件的容器。
以下,对该层使用到的主要控件及其触发事件按照其重要程度依次做介绍:
(1) TreeView控件
该控件的内容占第三层代码的三分之一,主要涉及到的触发事件有NodeMouseClick(单击)、NodeMouseDoubleClick(双击)、AfterCheck(复选框被选中)。设计的功能主要有:单击TreeView控件结点可查看该结点所代表组件的命名空间和类名;双击组件可以显示出该组件的构造方法参数或属性信息;选中复选框后可以将该组件标签添加到IOC配置文件中。
(2) TabControl控件
该控件主要用于分栏。在该系统中一共用到了2个TabControl控件,第一个用于左栏即控制栏,该栏一共包含了2个TabPage。这两个TabPage分别作为IOC组件的控制栏和AOP组件的控制栏。第二个TabControl控件作为显示栏,共包含了3个TabPage:第一个用来显示IOC的配置信息;第二个用来显示AOP的配置信息;第三个用来实时地显示当前正在配置的XML文件。
(3) Datagrid控件
Datagrid主要用于分行显示读入的构造方法的参数名或者类的属性名。
(4) ContextMenuStrip控件
该控件作为快捷菜单出现在单击TreeView控件某个结点后,它通常包含2个选项:“添加组件”和“删除所有组件”。主要使用到的触发事件就是该控件的单击事件。
(5) OpenFileDialog控件
打开文件对话框控件,在本系统中,用于读入要配置的组件文件。
(6) SaveFileDialog控件
保存文件对话框控件,在本系统中,用于保存配置好的XML文件到指定的位置。
(7) WebBrowser控件
Web浏览器控件,在本系统中,主要用来实时的显示当前正在配置的XML文件。
除了上述设计内容外,还添加了两个类文件作为页面层的辅助类。主要负责一些常用的初始化代码及其辅助性方法代码,比如配置文件的初始化方法、DataTable的初始化方法、还有DataTable与Arraylist转换函数等。
以上主要介绍了可视化配置工具代码的三层结构。这三层结构是紧密联系的,层与层之间的代码是调用与被调用的关系。它们共同完成了可视化工具所需的功能。完成的主要功能有:
(1) 支持IOC中的构造方法注入和设值注入两种注入方式。
(2) 可以对IOC的构造方法参数值或者属性值进行设置或者修改;支持数组类型的构造参数。
(3) 可以设置或修改组件ID。
(4) 可以保存上次关闭时的组件及其状态信息。
(5) 支持AOP组件配置:可以在参数设置栏设置拦截器键值、自动识别切面的类型等。
(6) 可以同时配置AOP和IOC组件。
3 可视化配置工具的实现和应用
通过三层结构,可视化工具就实现了预计的功能:在IOC和AOP组件存在的前提下,使用该工具可以帮助开发人员完成配置文件的生成。
3.1 IOC可视化配置工具的实现
可视化工具的IOC部分的操作方法和操作步骤如下:
(1)在左栏Component节点上单击鼠标右键,选择添加组件,如图2,即可把组件信息载入进来;如果选择“删除所有组件”,就可以把树型结构中的所有加载的组件删除,并把IOC配置文件中的该组件标签的全部信息相应删除。本文引用地址://m.amcfsurvey.com/article/151717.htm
(2)添加完组件后单击该组件可以查看该组件的命名空间和类名;双击组件可以在IOC配置栏中显示出该组件的构造方法参数或属性信息。该工具支持两种IOC配置模式,即设值注入(属性注入)和构造方法注入。在遵循一定规则的前提下可以自动区分属性注入或构造方法注入。图3、图4展示的是一个设值注入(属性注入)的实例。
评论