表格对象问题

时间:2010-02-22 00:46:56

标签: c# abstraction rules

有没有人对表单对象应该处理哪种代码而不是让对象本身处理它有任何硬性规定?例如,如果有比赛,赛车的对象应该说马,作为马的一部分处理比赛,还是将它放在表格对象中更好?我想我要问的是,人们如何决定什么进入像马一样的对象,如说一种方法,以及什么进入形式对象而不是马。在这种情况下,您是否使用任何规则来确定代码最佳抽象的位置?

5 个答案:

答案 0 :(得分:1)

这称为“关注点分离”。让表单处理显示和用户交互。让Racer处理赛车。

答案 1 :(得分:1)

我尝试开发我的软件,以便将不依赖于UI的核心功能抽象为负责其任务的类。

试着想:

  

我怎么能写这个,所以我可以同时拥有一个GUI界面和一个控制台界面,而不需要复制任何代码。

UI应该只处理视觉效果和用户互动。其他一切都应该根据其角色进行组织。

答案 2 :(得分:1)

不确定这里有完全正确的答案。但与约翰桑德斯达成一致。 “表单”作业主要负责向用户显示数据并接受数据输入。你越接近它,那就是那个。考虑何时可以使用此类数据的另一个地方,如果代码在其他地方,则可以重复使用。

让“业务对象”或“Facade”处理竞赛的逻辑,以及显示它的表单。

答案 3 :(得分:1)

尝试以现实世界的方式来表达事物。任何描述马的属性或动作的东西都属于马对象。任何描述种族的属性或行为(包括可能是马对象的集合)的东西都属于种族对象。表单不是真实世界的对象,而只是用于显示来自马/比赛/其他任何内容的信息的小工具。因此,除非需要在屏幕上显示真实数据,否则不要在表格中存储任何内容。

答案 4 :(得分:0)

由于表单是UI的一部分,我将应用我的UI硬性和快速规则: UI =格式化,排序和显示数据以及接受和验证输入