这是对我上一个问题阻止我的“实用程序”在不同体系结构之间出现错误的后续,假设我试图创建一个类库,如下所示:
- 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.命名来引用它的所有方法/函数。
我该怎么做?这是NameSpaces生效的地方吗?Inheritance?Partial Classes?Modules而不是类?
发布于 2013-01-22 16:32:58
如果要使用相同的类名访问这些方法,似乎没有任何理由将它们放在单独的类中。
如果要将代码拆分到多个源文件以用于组织目的,则可以使用部分类。
发布于 2013-01-22 16:35:19
这似乎是一个很好的实例,您可能希望使用部分类,所有这些类都使用相同的实用程序名称空间。这将允许您使用Utility.WebSub1访问方法并减少步骤。
发布于 2013-01-22 16:43:33
一个名为Utility的类从一开始就是一个糟糕的类。它的效用是什么?它对你有什么帮助?还有多少人会将类命名为实用程序?
将类命名为它们所做的事情,将它们关联到具有逻辑和功能意义的名称空间中。
假设您正在创建一组静态方法,这些方法可以帮助处理表示Month的类。为什么不将这些方法放入Month中呢?如果要编写方法将数据从一种表示形式转换为另一种表示形式,请以这种方式命名它(即MonthDataTranslation)。
不要担心在客户端或客户端代码上输入。Intellisense和使用语句的C#在很大程度上缓解了这一问题,并给出了在名称错误的、模糊的实用程序类和长的、命名良好的类之间的选择,每次我都会选择后者。
https://stackoverflow.com/questions/14463235
复制相似问题