今天无意中看到博客园伍迷写的《大话设计模式》系列博客,感觉十分有意思,诙谐幽默,又把繁杂的设计模式说的通俗易懂,颇为受益。
今天就稍微记录下我学习的反射模式这一节。
具体概念我也不太会说,我说下,他用在的地方。
在写程序的时候,经常会遇到类似判断的代码,而且这种判断有很大的更改性,比如:我要查一件商品的真实价格,这其中包括原价、打折、满XXX送XXX,类似的情况,可能有很大的变更性。如果我们每次做活动,商品真实价格的代码都需要修改下,些上相应的判断,那不是效率大大降低了么?没有一种方式,最大程度上的满足商家的需求,而我们修改的代码最少呢?
这时,设计模式就发挥作用了。
我们可以通过xml,把最可能变化的规则全部通过xml读取,这样,如果添加一个新的规则,那就非常方便了,只需要修改xml的配置就能轻松搞定。
下面就是反射的重头戏。可通过Assembly.Load的方式,加载一个类库,如调用下面的类库名称,可通过配置就能轻松搞定。
Assembly.Load("WebDAL").CreateInstance("WebDAL.ReflectionPattern." + dr["class"].ToString(), false, BindingFlags.Default, null, args, null, null)
这个方法相当有用啊。大大解放了程序员啊