C#表单初始化的良好样式
可能重复:C#表单初始化的良好样式,c#,coding-style,C#,Coding Style,可能重复: 你好, 我的问题是关于C#的良好编程实践。如果我使用各种表单创建应用程序,我会在Load方法中初始化与DB的连接,或者它应该在表单的基本构造函数中?以及用于填充表单的其他代码,基本文本框和组合框可以位于Load方法内部,或者最好使用构造函数来实现这一目的 提前感谢, Kornel我投票支持构造函数中的连接和表单填充加载方法 我也认为没有太大的区别。。。这取决于应用程序的实现!例如,您可以从基本表单继承所有表单,并将连接字符串检索逻辑放在那里 如果你想更深入,我建议你看看依赖注入(搜
你好, 我的问题是关于C#的良好编程实践。如果我使用各种表单创建应用程序,我会在Load方法中初始化与DB的连接,或者它应该在表单的基本构造函数中?以及用于填充表单的其他代码,基本文本框和组合框可以位于Load方法内部,或者最好使用构造函数来实现这一目的 提前感谢,
Kornel我投票支持构造函数中的连接和表单填充加载方法 我也认为没有太大的区别。。。这取决于应用程序的实现!例如,您可以从基本表单继承所有表单,并将连接字符串检索逻辑放在那里
如果你想更深入,我建议你看看依赖注入(搜索windsor castle、spring.net、ninject…),在表单类中注入数据库访问类 每当您想要更改属于表单的控件的状态时,我建议您在表单加载事件中这样做 在表单的构造函数中这样做容易出错。您是否考虑过,如果在调用
InitializeComponents()
方法之前,尝试在构造函数中执行此操作,会发生什么情况
关于ConnectionString,您可以在这两种情况下都这样做,因为这实际上与表单没有直接关系
您还可以查看一些开源项目代码,了解它们是如何处理
连接字符串或与表单:)无关的其他内容的。。不要直接在构造函数或表单加载中执行任何操作
创建一个init方法或从适当的方法(构造函数、load)调用的东西。这使得重构和单元测试更容易。。而且代码通常更容易阅读。在表单中执行肯定更好,因为这样它只会在需要时发生。但也同意使用从表单加载事件处理程序调用的init方法的建议。谢谢,因此我将继续,因为静态信息可以转到构造函数,而动态处理的信息将在加载事件中处于更好的位置。谢谢,我同意可读性问题,但是如果代码增长过多,调用就会影响性能。因为现在我正在按照你的建议,就像我开始那样,方法调用。