本节主要介绍WF4.0框架如何实现松耦合。
我在学WF4.0时一直带着一个问题在学习。这个问题是不需要改代码重新编绎的条件下,如何把一个别人写好的Activity嵌入到我的程序中来?
于是我做了一个简单的例子:
先编辑了一个这样子的Xaml文件,如下图所示:
这个文件内容的产生,是通过前一节工程项目中的Activity1.Xaml来的。直接复制,另存为 C: emp3rd.xaml好了。
然后直接写代码如下:
这样就把一个别人写好的Activity通过后期加载到我的程序中来了。
诚然,这种方式离我松耦合的需求还有些距离。我需要的是A Team做一部分Activity,B Team做一部分Activity,最终能融合成一个应用。
但上帝开了一扇门,剩下的路需要我们自己去走。
于是我又做了如下一个尝试:
1、首先我写了一个类,如下:
代码如下:
然后生成DLL。至此,我写了一个Activity,其内部就干了一件最简单的事,输出"My Activity output"。至于写一个类为啥要继承CodeActivity,暂且按下不表。
2、改写 C: emp3rd.xaml,如下:
在上面的3rd.xaml文件中,我们在两个Activity上层套了一个标签,叫Sequence,其意是顺序干活。那么我们希望输出Hello World后再输出 MyActivity Output
3、将 DLL拷贝至宿主程序的EXE所在目录一起
3、宿主程序代码不变:
F5运行之,可以看到如下结果输出:
至此,离我心中所思的松耦合相去不远矣!