簡體   English   中英

創建一個由許多子類組成的類庫

[英]Create a class library consisting of many sub-classes

這是我之前的問題的后續問題。 阻止我的“實用程序”在不同的體系結構之間給出錯誤 ,假設我正在嘗試創建一個看起來像這樣的類庫:

- Class Utility (Parent class)
     ... Utility functions and methods
         (EG: Public Sub Sub1() )

  - Class Utility_Web
       ... Functions and methods only related to Web / Web-Controls
         (EG: Public Sub Web_Sub1() )

  - Class Utility_WinForms
       ... Functions and methods only related to Winforms / WinForm-Controls
         (EG: Public Sub WinForm_Sub1() )

現在,我想要做的是只需添加Utility dll作為我的任何項目的參考,並且只需鍵入即可訪問所有這3個類中的函數和方法,例如:

Utility.Sub1
Utility.WebSub1
Utility.WinFormSub1

換句話說, 不必輸入

Utility.Utility_Web.Websub1

並且使得最終程序員不需要知道該實用程序的內部結構,他們可以僅使用Utility.來引用它的所有方法/函數Utility. 命名。

我該怎么做呢? 這是NameSpaces生效的地方嗎? Inheritance Partial Classes Modules而不是類?

如果要使用相同的類名訪問這些方法,似乎沒有任何理由將它們放在單獨的類中。

如果要為了組織目的在多個源文件中拆分代碼,可以使用部分類

這似乎是一個很好的實例,你想要使用部分類,所有這些都使用相同的Utility命名空間。 這將允許您使用Utility.WebSub1訪問方法並減少步驟。

名為Utility的類從一開始就是一個壞類。 它的用途是什么? 它對你有什么幫助? 還有多少人會命名類實用程序?

為您的類命名您的類,將它們關聯到它們具有邏輯和功能意義的命名空間中。

假設你正在創建一組靜態方法來幫助代表Month的類。 為什么不將方法放入Month 如果您正在編寫將數據從一個表示轉換為另一個表示的方法,請將其命名為(即MonthDataTranslation )。

不要擔心客戶端或客戶端代碼的輸入。 Intellisense和C#using語句減輕了很多,並且在一個名稱錯誤,模糊的Utility類和一個名字很長的類之間做出選擇,我會每次都選擇后者。

暫無
暫無

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

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