![]() |
1
1
如前所述
这里有一个典型的例子:
显示器的问题是,它根据两个元素而变化,这两个元素需要一个双调度系统(使用虚拟)。 这是传统的解决方法,使用 Visitor Pattern . 让我们先检查基类:
现在,让我们实现一些:
如您所见,最困难的部分是,如果我希望添加一个新的派生类
其优点是显示逻辑现在与模型分离,因此我们可以添加新的显示逻辑,而无需接触模型。 |
![]() |
2
1
我认为你老师的意思是“不要把它放在学生班上”。 正如弗拉德提到的,模型将是学生班。这个观点不应该出现在学生课堂上。其思想是学生类应该存储关于这些对象的结构信息。如何呈现这些数据取决于使用类的内容。例如,如果以后要将这些类同时用于控制台应用程序和GUI应用程序,则不希望在这些类中包含显示代码。这应该取决于使用类的应用程序。 视图/控制器将在helper类或主程序中。在主程序中并不意味着它必须是混乱的。您可能有很多函数可以使main()看起来美观、干净,但如果您将其编写在一个助手类中,情况也是如此。您将拥有所有这些功能,也许还有更多功能。 我的建议是,如果这是一个小练习,不要添加助手类,除非您已经对该类是如何的有了明确的概念,或者如果您有时间花在计算上。 |
![]() |
3
1
虽然我对我的顾问持怀疑态度,但我认为你的顾问在这里有一个正确的观点。 认识到将cin/scanf放在类中有多重要可能过于简单。但是想象一下,你的学生班用一个图形用户界面组成了一些代码的后端,数据来自各种各样的东西——性别的单选按钮,年龄组的组合框等等。你真的不应该把这些都放在你的学生班里。 有一个“查看器”或一个填充学生的助手类可以帮助您。我建议根据不同的观点,各开一门课。您可以在main内部完成,但是拥有单独的查看器类将帮助您重用代码。 阿尔潘 |
![]() |
Nifas · Python:将用户输入用作dict键时出现键错误 7 年前 |
![]() |
LalaJava · Java方法字符模式-初学者 7 年前 |
|
Richard Yudkiss · 重置之前,基本计算器需要多个输入 7 年前 |
![]() |
f.lechleitner · R-多行上的readline提示 7 年前 |
![]() |
JoshingYou · 我无法运行此程序[已关闭] 7 年前 |
![]() |
Nic · 用于记录用户选择的响应图像 7 年前 |