哪种是在Winforms中编写代码的最佳和最合适的方法?

时间:2010-05-06 05:29:36

标签: c# winforms coding-style three-tier

编写代码的最佳方法是什么?

(1)就像直接在button_click()事件中编写代码一样。

(2)创建我在button_click()事件中编写的代码的函数,并在一个类中编写该函数,然后在button_Click()事件中调用该函数。就像它被称为{ {1}}编写代码?

three-tier approach事件一样,我编写了代码以保存button_Click()中的记录。所以我应该在csv file from datatable事件中编写代码,或者我应该创建一个新函数和一个新类并在该函数中编写该代码,该函数是新类并在button_Click()事件中调用该函数。

这只是一个例子,但是我在讨论我的应用程序中编写的所有代码哪个是button_Click(),有什么好处?请注意,我使用c#在Winforms中编写代码。

5 个答案:

答案 0 :(得分:2)

您应该在另一个班级中使用单独的功能。您应该这样做,因为您将使代码可重用,并在用户界面和应用程序逻辑之间创建一个适当的分离。像这样,您可以更改UI而不影响应用程序的其余部分。

另请查看MVC pattern,您会更好地理解整个想法。

我认为应该使用第一个选项的唯一情况是当它执行一些会影响UI的操作时,我仍然会在Form类的单独函数中创建它。

如果它影响UI,它应该在同一个类中,因为它是相关的,例如,如果它是刷新网格的代码,我将把它放在同一Form类中的单独方法中,因为这可以用于里面有不同的地方。因此,更改UI对应用程序没有任何影响,您只需将代码重复使用即可。可维护性。

答案 1 :(得分:0)

这完全取决于情况。

如果您要对表单进行更新,那么最好在表单中包含更新代码。但是,如果有很多处理,那么确定更好的设计是让一个单独的类来处理这个工作。

这完全取决于情况。

答案 2 :(得分:0)

通常,您不希望事件处理程序中有任何逻辑,因为GUI倾向于提供冗余机制(上下文菜单,菜单栏,工具栏,加速键)以触发相同的命令,并且事件签名不兼容对于所有这些。然后问题就是你的常用函数是应该在Form类中还是在数据模型中。

我经常从Form中的逻辑开始,然后根据需要将其重构为模型类。许多小应用程序永远不会变得足够大,以至于可维护性需要多个类。只要您避免代码重复(即复制+粘贴),如果您发现需要重构,那么稍后重构会很简单。

答案 3 :(得分:0)

开发工作班总是好的。因为它使您的代码可重用,并且还实现了三层架构。好处是它易于理解。
重要的是,只有适当地开发课程才有用。在课堂上开发可以重复使用的方法。
另一个好处是它隐藏了代码的复杂性。

答案 4 :(得分:0)

向代码添加结构有两种常规方法:自顶向下和自底向上。自上而下的结构来自于可能涉及正式或非正式过程的设计工作以及UML图或功能规范等纯设计工件。自顶向下过程的最终目标是在代码中创建类和接口,以提供适当的结构以使代码可维护。这可以在您编写代码之前发生,也可以作为迭代的一部分发生,但您的想法是首先创建结构,然后创建代码。

自下而上的结构来自重构。例如,单击按钮开始所有逻辑。当您添加与按钮单击操作相同的菜单项时,将按钮单击功能的代码移动到窗体上的私有成员函数中。当您在应用程序的不同部分需要相同的功能时,将私有成员函数使用的代码和状态变量封装到类中。

我建议使用这两种方法。适合您情况的正确组合取决于开发团队(规模,位置,沟通能力)和应用程序的大小。一般而言,大型应用需要更多自上而下,而在非常小的应用中,最小量的自顶向下设计就足够了。但是应该总是有一些高级别的计划,即使对于一个小应用程序也是如此。

相关问题