簡體   English   中英

.NET在命名空間之間共享類,如何分配它們?

[英].NET shared classes between namespaces, how to distribute them?

前一段時間,我從這本書中讀到,庫內部的名稱空間應該以一種方式分配,即內部名稱空間比其父名稱空間具有更具體的類。 我們可以在名稱空間System.Net找到一個示例,在這里可以找到類WebClient 此類具有比System.Net.Sockets命名空間內部的Socket更高的抽象級別(實際上, WebClient使用Socket )。

我的問題是,父名稱空間和子名稱空間使用的所有那些類怎么樣? 我應該將它們放在哪個命名空間中? 我是否應該創建一個不同的新名稱(如Parent.Shared類的Parent.Shared ,然后從ParentParent.ChildParent.Child.GrandChild導入它們?

通常,您在父名稱空間中具有通用類,而在子名稱空間中具有相關類。 例如,在System.Text中,您沒有非常相關的類,例如EncodingStringBuilder System.Text.RegularExpressions所有類都與正則表達式相關。

其他近似可以是:您在父名稱空間中定義了一組接口,並在每個子名稱空間中定義了一個具體實現。 例如, DataLayer.Repository可以定義接口以實現存儲庫模式。 然后,您可以使用DataLayer.Repository.EntityFrameworkDataLayer.Repository.NHibernate來實現與不同ORM的接口

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM