【发布时间】:2011-08-03 15:05:53
【问题描述】:
我想知道在 c#(甚至可能是 cli)中是否有一种标准方法可以有效地将实现逻辑解耦为单独的类库/程序集,这些类库/程序集将由一个进程动态加载,该进程将基于一个对这些库执行操作通用接口。
更准确地说: 假设我正在构建一个接收消息的服务,并将这些消息的处理委托给其他东西。比如:
while(true){
message = read_message_from_somewhere();
class_from_another_lib.do_somthing_with_Message(message);
}
我希望进程在运行时从某种配置加载类库。我假设这个库会有一些主类或类工厂,它们实现了一些接口部分,如下所示:
ISomePublicIface{
void do_somthing_with_Message(messageT);
}
这一切都感觉有点像 java beish,我需要做的就是让程序集中的一个类实现某种可注入接口,在应用程序配置中添加一行并免费获得大量东西。
【问题讨论】:
标签: c# .net design-patterns decoupling dynamic-loading