关于动态加载(获取)类的一些体验

这几天在学习设计模式(DP)
在主管的指引下,开始接触工厂模式的编程思想。
工厂模式适合通用模板式的系统开发。感觉上非常的爽。
但其中也有不少的问题:
可能因为之前没有接触过,所以一开始是一头雾水。在GG上弄了一大吧文章,加上主管给的一篇文章开始了对工厂模式的探索。。。。

抽象是第一步:把可以复用的东西从实体里抽象出来。(个人拙见。)
这个可以解决,但参考的模式是通过一个统一的接口来输出实体类。对我(是一个OO的初级入门者)来说,这个有难度。
我选择了一种办法:通过建立抽象类来实现这个接口。
public abstract class ExportInterface
然后下面有几个业务实体(个人理解)类都从ExportInterface继承过来。通过override ExportInterface里的abstract方法来实现。

接下来就是要让这些业务实体类动态创建对象:
例子的方法如下:
postfix为业务实体类的类名
(ExportInterface)(Assembly.Load(postfix).CreateInstance(postfix));
报错,原因在师兄的指导下发现了。。。。
msdn里这样说的

通过给定程序集的长格式名称加载程序集。

public static Assembly Load(
   string assemblyString
);

参数

assemblyString
程序集名称的长格式。

返回值

加载的程序集。

assemblyString 是程序集名称的长格式。 这个就麻烦了。我没有办法获取到我自己写的类的程序集名称的长格式(偶是菜鸟)

只好换一种方法,师兄给了这个方法Activator.CreateInstance(Type.GetType(postfix))

这样就成功了。。。咔咔。实现了第一步。后续。。。。。。。。

你可能感兴趣的:(动态)