Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/279.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 形宾问题_C#_Abstraction_Rules - Fatal编程技术网

C# 形宾问题

C# 形宾问题,c#,abstraction,rules,C#,Abstraction,Rules,对于表单对象应该处理哪种类型的代码,而不是让对象本身来处理它,有人有什么硬性规定吗?例如,如果有一场比赛,参加比赛的对象(比如马)应该作为马的一部分来处理比赛,还是最好将其放在表单对象中?我想我要问的是,一个人如何决定什么进入一个对象,比如说一个方法,什么进入一个形式对象而不是一匹马。在这种情况下,您是否可以使用任何规则来确定代码的最佳抽象位置?这称为“关注点分离”。让表单处理显示和用户交互。让赛车手处理比赛。这称为“关注点分离”。让表单处理显示和用户交互。让赛车手来处理比赛。我尝试开发我的软件

对于表单对象应该处理哪种类型的代码,而不是让对象本身来处理它,有人有什么硬性规定吗?例如,如果有一场比赛,参加比赛的对象(比如马)应该作为马的一部分来处理比赛,还是最好将其放在表单对象中?我想我要问的是,一个人如何决定什么进入一个对象,比如说一个方法,什么进入一个形式对象而不是一匹马。在这种情况下,您是否可以使用任何规则来确定代码的最佳抽象位置?

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

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

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

试着想想:

我如何编写它,以便既有GUI界面又有控制台界面,而无需复制任何代码


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

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

试着想想:

我如何编写它,以便既有GUI界面又有控制台界面,而无需复制任何代码


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

不确定这里是否有绝对正确的答案。但同意约翰·桑德斯的观点。“表单”作业主要负责向用户显示数据并接受数据输入。你离那越近,就越孤独。想想什么时候有其他地方可以使用这种类型的数据,如果代码在其他地方,它可以被重用


让一个“业务对象”或一个“门面”来处理竞争的逻辑和显示它的表单。

不确定这里是否有绝对正确的答案。但同意约翰·桑德斯的观点。“表单”作业主要负责向用户显示数据并接受数据输入。你离那越近,就越孤独。想想什么时候有其他地方可以使用这种类型的数据,如果代码在其他地方,它可以被重用


让一个“业务对象”或一个“门面”来处理竞赛的逻辑和显示它的形式。

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

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

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

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

您是在谈论WinForm还是WebForm?您是在谈论WinForm还是WebForm?