以下例子实现界面和数据操作的分离,界面成为一个dll,数据操作部分成为一个dll。
先上一个框图:
从上面的框图可以看出整体上需要:三个接口
下面是代码:
(1)建立第一个项目(以便形成dll),名称为:PluginKernel,此项目里面只需定义三个接口,为了层次分明,这三个接口分在两个.cs文件中。
先在IControl.cs(或IApp)文件中定义两个接口:
namespace CSPluginKernel
{
public interface IApplicationObject //应用程序主界面接口
{
void SetDelegate( EventHandler target ); //传递一个委托,即函数指针作为形参,这个委托会保存在主界面对象的appEvent成员中
IDocumentObject GetActivatedDocuments(); // 获取当前使用的文档对象
}
public interface IDocumentObject //文档对象(文本框)接口
{
string SetText { get; set; }
Color SelectionColor { get; set;