日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

依赖注入容器 Castle windsor的使用

發布時間:2023/12/15 编程问答 48 豆豆
生活随笔 收集整理的這篇文章主要介紹了 依赖注入容器 Castle windsor的使用 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

2019獨角獸企業重金招聘Python工程師標準>>>

????? ?在Castle中包含了一組開發框架,它里面的IOC容器是Windsor。在Windsor中提出了自動裝配的概念,由容器來自動管理組件之間的依賴關系,無需用戶去編寫XML配置文件或者通過Attribute來指定容器之間的依賴關系。這樣在使用上非常的簡單,同時也帶了一些問題,作為開發人員的我們無法控制組件的依賴關系。

???? ? 簡單使用:

???????????? ?1.添加Castle.Core.dll,Castle.Windsor兩個引用。

????????????? 2.創建被用于注入的接口和其實現。

????????????? 3.在程序的入口處(winform在Main函數下,Web Application在Application_start()下)添加如下代碼

????????????IWindsorContainer?container?=?new?WindsorContainer();//下面為你要注冊的組件,即注入容器的配置。//“WindowsFormsApplication1”?為程序集名稱,Form為要注冊類的基類container.Register(AllTypes.FromAssemblyNamed("WindowsFormsApplication1").BasedOn<Form>().WithService.DefaultInterfaces());//“Tasks”為你的程序集名稱,“Service”為你的“IService”接口的實現類container.Register(AllTypes.FromAssemblyNamed("Tasks").Pick().If(t?=>?t.Name.EndsWith("Service")).WithService.DefaultInterfaces());

???????????? 4.在調用出實現注入,并調用。

????????????????????1)屬性/Setter注入:? ?????????????

????????public?ITestService?TestService?{?get;?set;?}TestService.GetMethod();//調用TestService中的GetMethod()方法

????????????????????2)構造器注入:

????public?partial?class?Form1?:?Form{private?ITestService?_service;public?Form1(ITestService?testService){InitializeComponent();_service?=?testService;_service.GetMethod();//調用TestService中的GetMethod()方法}}


轉載于:https://my.oschina.net/MerylLiu/blog/214492

總結

以上是生活随笔為你收集整理的依赖注入容器 Castle windsor的使用的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。