1
3
System.ComponentModel.Component 提供了一个 design-surface for non-visual components in Visual Studio . 通常,在项目中,您可以像使用窗体和用户控件的设计器一样“添加”“组件”并开始添加和配置非可视组件。 对于全局访问(应用程序范围),您可以作为公共(或内部)静态成员提供对程序类中组件的访问。 您可以在主方法中初始化此成员,或者通过程序与MainForm或其他组件之间的任意复杂交互来初始化此成员,例如使用System.ComponentModel中相关类规定的服务基础结构和IContainer的自定义实现。 |
2
0
我通常使用singleton来记录类、数据库适配器等。当您希望在整个应用程序中对对象进行静态引用时,这很方便。 不过,我可能误解了你的问题。 |
3
0
有许多方法可以实现应用程序的“应用程序范围”对象和数据。但是,确定您需要访问的共享“组件”中的哪些实际上只是全局的,或者其中的一些实际上是“上下文的”,可能会很有用。在某些情况下,全局组件和上下文组件之间可能存在细微差别。 对于像记录器这样的实用程序,它作为一个全球设施最有用,因为日志记录是那些令人讨厌的横切问题之一。然而,在许多情况下,信息是特定上下文的,应该被包装在某种上下文对象中,只有在该上下文中实际执行的代码才可以访问。有时很难识别上下文。如果您可以识别它,并且您可以找到如何在正确的时间初始化和使上下文对象可用到正确的代码,那么您应该得到一个更好的产品,它具有更适当的组织代码,而不仅仅是使一堆数据可以全局访问。 我建议研究BDD,行为驱动开发,一种将敏捷和TDD实践融合到更严格的开发方法中的方法论,其中上下文起着关键作用。 |
JOO · 使用udpClient从多个IP地址连续接收数据 2 年前 |
Futterkiste · 函数比例图 2 年前 |
user18789895 · 我应该如何验证WinForms应用程序? 2 年前 |
beriscen · 如何使整个链接标签区域可点击? 2 年前 |
lpmaxim · 当鼠标光标悬停在按钮上时,背景图像会移动 2 年前 |