用于文件读取的Java模型视图控制器

用于文件读取的Java模型视图控制器,java,model-view-controller,model,controller,Java,Model View Controller,Model,Controller,我在设计一个读取文本文档并将统计数据写入文本文件的小程序时遇到了很多麻烦。我们必须使用尚未学习的模型-视图-控制器格式 基本上,模型类表示文本文件中的文本,我需要将其存储在字符串或字符串数组中。它还必须有方法来报告字数之类的东西。视图类需要有bufferedreader和writer。控件类创建对象并调用printResults()方法 因此,我从我的控制类开始,有如下内容: Model model = new Model(); View view = new View( model ); v

我在设计一个读取文本文档并将统计数据写入文本文件的小程序时遇到了很多麻烦。我们必须使用尚未学习的模型-视图-控制器格式

基本上,模型类表示文本文件中的文本,我需要将其存储在字符串或字符串数组中。它还必须有方法来报告字数之类的东西。视图类需要有bufferedreader和writer。控件类创建对象并调用printResults()方法

因此,我从我的控制类开始,有如下内容:

Model model = new Model();
View view = new View( model );

view.writeFile();

我觉得这是不对的。如何使模型类表示文本文档,并将其发送给视图类进行读取,然后让视图类调用模型类中的方法来编写统计信息?是否有更好的方法,或者我在这里遗漏了什么?

您的模型非常合理。您正在使用视图类将数据移入和移出模型,我想这是合理的。 通常情况下,视图比这更直观。我认为视图应该是显示文本文件的窗口。也许这是GUI的一部分,允许用户选择要打开的文件和要保存的文件

控制器通常是程序响应用户输入的地方。但是,如果您不需要为此项目构建UI,那么您对“视图”和“控制器”的解释听起来不错。如果这个程序是用Swing编写的,那么你的控制器仍然会按照你描述的那样工作。但它会在用户单击保存按钮或文件打开按钮时执行这些操作

如果您不熟悉模型-视图-控制器设计模式,您可能应该阅读一些有关该模式的内容。例如,请参见

-这是控制器的工作。通常,您将在中创建模型和视图字段 控制器类及其“setter”和“getter”。然后在主程序类中创建视图和模型对象,并将它们设置为控制器类的字段。这样,每次您希望在视图和模型之间中继数据时,您只需使用控制器中的相应字段调用每个的方法


例如,假设您希望将用户输入的数字加倍并显示它。在控制器对象的实现中,调用视图的方法来获取用户输入,并将其作为参数传递给模型的方法。然后指定模型方法的返回值或双倍数字,并将其传递回视图或以所需方式显示结果的方法。

程序中是否有用户界面?也许我错了,但本质上MVC模式涉及一个GUI(概念化为视图),没有输入。我只是有一个txt文件,我需要读写统计数据。控件只是用来启动程序的。如何使视图和模型类相互了解,而不必在模型类中声明视图对象,在视图类中声明模型对象?这将是一个无限循环,两个类可以相互引用(字段)。这根本不是一个循环-无限或其他。
   How do I make my view and model classes aware of each other
 without having to declare a view object in the model class and
 a model object in the view class?