插件架构zoo示例
本文关键字:示例 zoo 插件架 | 更新日期: 2023-09-27 18:21:45
试图理解一些我不知道如何描述的东西,因为我不理解它:(
假设我正在申请动物园,我想为动物园出售不同的动物。我想象有一个IAnimal接口,如下所示:
public interface IAnimal
{
string Talk { get; set; }
}
现在我将为Cat创建一个项目,为Dog 创建一个
public class Cat : IAnimal
{
...
}
假设我放弃了zoo应用程序,用户打开它,检查该用户购买了哪些动物的代码是什么样子的?
根据所需的可插拔性,可能值得研究MEF,文档中包括一个示例计算器应用程序,应该会有所帮助。
这是使用控制反转模式的依赖注入的主要情况。StructureMap是一个开源项目,允许您将依赖项注入到应用程序中。它允许您说,"在这个程序集中,找到特定接口的所有实现,并允许我创建任何这些实现的实例"。这种松散耦合也使得单元测试场景更加容易。