温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

StructureMap怎么用

发布时间:2021-09-17 10:31:57 来源:亿速云 阅读:229 作者:小新 栏目:编程语言

这篇文章主要为大家展示了“StructureMap怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“StructureMap怎么用”这篇文章吧。

StructureMap是一款很老的IoC/DI容器,从2004年.NET 1.1支持至今。

一个使用例子

    //创建业务接口     public interface IDispatchService { }     public interface ICourier { }     public interface IPaymentGateway { }     public interface IPaymentMerchant { }     //接口的实现     public class DispacthService : IDispatchService     {         private ICourier _courier;         public DispacthService(ICourier courier)         {             _courier = courier;         }         public override string ToString()         {             return _courier.ToString();         }     }     public class FedExCourier : ICourier { }     public class StreamLinePaymentMerchant : IPaymentMerchant { }     public class PaymentGateway : IPaymentGateway     {         private IPaymentMerchant _paymentMerchant;         public PaymentGateway(IPaymentMerchant paymentMerchant)         {             _paymentMerchant = paymentMerchant;         }         public override string ToString()         {             return _paymentMerchant.ToString();         }     }     //业务使用     public class OrderService     {         private IPaymentGateway _paymentGateway;         private IDispatchService _dispacthService;         public OrderService(IPaymentGateway paymentGateway, IDispatchService dispacthService)         {             _paymentGateway = paymentGateway;             _dispacthService = dispacthService;         }         public override string ToString()         {             return string.Format("IPaymentGateway:{0}  IDispatchService:{1}", _paymentGateway.ToString(), _dispacthService.ToString());         }     }     //配置依赖关系     public class BootStrapper     {         public static void ConfigureStructureMap()         {             ObjectFactory.Initialize(x => x.AddRegistry<ModelRegistry>());         }     }     public class ModelRegistry : Registry     {         public ModelRegistry()         {             For<IPaymentGateway>().Use<PaymentGateway>();             For<IPaymentMerchant>().Use<StreamLinePaymentMerchant>();             For<IDispatchService>().Use<DispacthService>();             For<ICourier>().Use<FedExCourier>();         }     }     class Program     {         static void Main(string[] args)         {             BootStrapper.ConfigureStructureMap();//启用配置             OrderService orderService = ObjectFactory.GetInstance<OrderService>();             Console.WriteLine(orderService.ToString());             IPaymentGateway paymentGateway= ObjectFactory.GetInstance<PaymentGateway>();             Console.WriteLine(paymentGateway);             Console.ReadKey();         }     }

以上是“StructureMap怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI