C# EmployeePlug类概述
C#有很多值得学习的地方,这里我们主要介绍C# EmployeePlug类,包括介绍主程序框架被设计为两个程序集等方面。
插件在EmployeePlug.cs和CustomerPlug.cs中定义。列表三展示了C# EmployeePlug类的部分定义。下面是一些关键点。
1。这个类实现了IPlug接口。由于主程序根本不会知道插件内部的类是如何定义的,这非常重要,主程序需要使用IPlug接口和各个插件通信。这种设计利用了面向对象概念里面的多态性。多态性允许运行时,可以通过指向基类的引用,来调用实现派生类中的方法。
2。这个类被两个属性标识,这样主程序可以判断这个插件是不是有效的。在C#中,要给一个类标识一个属性,你得在类的定义之前声明属性,内容附在括号内。
3。简明起见,例子只是使用了直接写入代码的数据。而如果这个插件是个正式的产品,那么数据总是应该放在数据库中或者文件中,各自所有的数据都应该仅仅由插件本身来管理。C# EmployeePlug类的数据在这里用EmployeeData对象来存储,那也是一个类型并且实现了IPlugData接口。IPlugData接口在IPlugData.cs中定义,它提供了最基础的数据交换功能,用于主程序和插件之间的通讯。所有支持IPlugData接口的对象在下层数据变化的时候将提供一个通知。这个通知实际上就是DataChanged事件的发生。
4。当主程序需要显示某个插件所含数据列表的时候,它会调用GetData方法。这个方法返回IPlugData对象的一个数组。这样主程序就可以对数组中的每个对象使用ToString方法得到数据以建立树的各个节点。ToString方法是EmployeeData类的一个重载,用于显示雇员的名字。