我很困惑什么时候使用具有多个入口点的应用程序才是正确的,或者我猜是一个具有多个互连模块的应用程序。我有一个网络应用程序 (Netty) 以及一个 Web 应用程序 (spring)。我可以将它们捆绑在一起,实际上将它们紧密耦合在一起,或者我可以将它们模块化以相互依赖地运行,同时仍然协同工作以构成一个完整的应用程序。
将应用程序设为单个实体还是多个实体有什么具体原因吗?是否“需要”拥有一个独立的应用程序(例如,一种主要方法)?
最佳答案
首先,询问main()
方法的数量有点误导。毕竟,您可以在单个 JAR 文件中包含多个具有 main()
方法的类。
但问题似乎更多地是关于单个应用程序还是多个应用程序,或者更准确地说:tiers .
请务必注意,此问题与模块化和多线程问题是分开的,所有这些问题都可以像在多层应用程序中一样轻松地用于单层应用程序。
您需要多层应用程序的原因可能各不相同,但这里有几个例子:
- 这只是需求的一部分:即聊天软件通常需要服务器和客户端,因为需求是在两台计算机之间移动数据。
- 扩展:您需要将工作分散到多台计算机上以应对大量数据或请求。 (例如,这是消息队列的典型用例。)
- 关注点分离:这通常发生在“企业”系统中,其中不同的功能需要完全隔离地执行,允许随时更换/重新启动模块或单独扩展它们。
关于java - 何时使用多个主要方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22917135/