gpt4 book ai didi

java - 客户端-服务器应用程序是否需要 MVC?

转载 作者:塔克拉玛干 更新时间:2023-11-02 08:24:22 24 4
gpt4 key购买 nike

目前正在用 Java 为大学做一个小组项目。任务是生成一个基于零配置的分布式系统。我们小组决定使用客户端-服务器架构开发一个 session 聊天应用程序。由于我加入小组的时间较晚,大部分代码已经完成,他们决定为该项目开发一个MVC架构。我通过 Rails 开发体验过 MVC,并且可以理解它在这种情况下的便利性。但是,我看不到按照我的团队实现的方式使用它的好处。

有Client和Server两个类,每个类都包含发送和接收数据报的方法,以及使能发送的sockets等字段。还有 ServerController 和 ClientController 类。这些类中的每一个都只包含一个字段(分别是一个服务器和一个客户端),所有的方法要么是服务器或客户端的公共(public)方法的包装器,要么是简单的实用方法。一个例子是:

public void closeDownServer(){
server.closeDownServer();
}

对我来说,这似乎完全没有意义,在这种情况下,MVC 的实现只是为了使用设计模式。谁能告诉我以这种方式对应用程序进行编码是否有任何好处?是否需要这些 Controller 类?

最佳答案

MVC 的目的是提供抽象,使以后的更改更容易实现,并解耦您的组件。这可能就是为什么您现在认为它毫无意义……因为您的应用程序又小又简单。如果它保持这种状态,那么 MVC 可能只会使您的应用程序变得臃肿。但如果它要增长,MVC 可能对 future 的发展有所帮助。

考虑一些可能说明您为什么要使用 MVC 或允许模型和 View 直接相互访问而无需 Controller 的实现的案例。

  • 如果在“关闭
    时需要执行一些其他操作怎么办?server"与您的服务器类没有具体关系?在哪里你会这样做吗?
  • 如果您想将服务器实现更改为第三方包怎么办?你宁愿改变你的 Controller 代码还是改变在所有 View 中实现特定代码?
  • 如果您更改用于存储应用程序数据的数据库怎么办?您是否希望您的 UI 开发人员担心更改代码前端来适应这个?

所有上述情况都可以通过使用 MVC 来缓解,这将为您提供必要的关注点和抽象的适当分离,从而使开发和改进/更改代码更加容易。

关于java - 客户端-服务器应用程序是否需要 MVC?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8064857/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com