[英].NET shared classes between namespaces, how to distribute them?
前一段時間,我從這本書中讀到,庫內部的名稱空間應該以一種方式分配,即內部名稱空間比其父名稱空間具有更具體的類。 我們可以在名稱空間System.Net
找到一個示例,在這里可以找到類WebClient 。 此類具有比System.Net.Sockets
命名空間內部的Socket更高的抽象級別(實際上, WebClient
使用Socket
)。
我的問題是,父名稱空間和子名稱空間使用的所有那些類怎么樣? 我應該將它們放在哪個命名空間中? 我是否應該創建一個不同的新名稱(如Parent.Shared
類的Parent.Shared
,然后從Parent
, Parent.Child
和Parent.Child.GrandChild
導入它們?
通常,您在父名稱空間中具有通用類,而在子名稱空間中具有相關類。 例如,在System.Text中,您沒有非常相關的類,例如Encoding
或StringBuilder
。 在System.Text.RegularExpressions
所有類都與正則表達式相關。
其他近似可以是:您在父名稱空間中定義了一組接口,並在每個子名稱空間中定義了一個具體實現。 例如, DataLayer.Repository
可以定義接口以實現存儲庫模式。 然后,您可以使用DataLayer.Repository.EntityFramework
和DataLayer.Repository.NHibernate
來實現與不同ORM的接口
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.