将Java代码组织到包中等于架构模式/风格吗?

将Java代码组织到包中等于架构模式/风格吗?,java,architecture,Java,Architecture,我很困惑,我在寻找构建我的项目的最佳实践,我指的是将Java代码组织到包中的最佳方法。此外,我阅读了一些关于架构风格和架构模式的文章,其中一些页面说它们是相同的,而另一些页面说它们是不同的,所以我的疑问来了,首先,架构风格和架构模式是相同的吗?。然后,当您谈论将java代码组织到包中时,与您说“我正在为我的java项目寻找最佳的架构模式”时是一样的。我真的需要理解这一点,我一直在阅读,但我仍然不明白。最后,如果你不能理解我在这里发布的内容,我很抱歉,我的英语很差,我需要多练习。来自 建筑风格:

我很困惑,我在寻找构建我的项目的最佳实践,我指的是将Java代码组织到包中的最佳方法。此外,我阅读了一些关于架构风格和架构模式的文章,其中一些页面说它们是相同的,而另一些页面说它们是不同的,所以我的疑问来了,首先,架构风格和架构模式是相同的吗?。然后,当您谈论将java代码组织到包中时,与您说“我正在为我的java项目寻找最佳的架构模式”时是一样的。我真的需要理解这一点,我一直在阅读,但我仍然不明白。最后,如果你不能理解我在这里发布的内容,我很抱歉,我的英语很差,我需要多练习。

来自

建筑风格:

建筑风格以非常广泛的笔触告诉我们如何组织 我们的代码。这是最高级别的粒度,它指定 应用程序的层次、高级模块以及这些模块是如何工作的 各层之间相互作用,相互之间的关系。 建筑风格示例:

Component-based
Monolithic application
Layered
Pipes and filters
Event-driven
Publish-subscribe
Plug-ins
Client-server
Service-oriented
建筑模式:

模式是对重复出现的问题的重复出现的解决方案。在这种情况下 在架构模式方面,它们解决了与 建筑风格。例如,“我们将上什么课,如何上?” 它们是否会相互作用,以实现具有特定集合的系统 或“我们的系统中有哪些高级模块?” 面向服务的体系结构以及它们将如何通信”,或“如何” 我们的客户机-服务器体系结构将有许多层”

大多数情况下,体系结构模式对代码库有着广泛的影响 通常会横向影响整个应用程序(即如何 将代码组织在一个层内)或垂直(即请求是如何处理的) 从外层加工到内层和背面)。 架构模式的示例:

Three-tier
Microkernel
Model-View-Controller
Model-View-ViewModel
对我来说,这代表了类级接口和实现的类似二分法

换句话说,风格就是目标,模式就是你如何实现目标

Java包有两个与此相关的用途。它们用于组织代码,并通过使用public和package private在库级别提供封装

如果使用客户机-服务器样式,则需要一个用于服务器的包和一个可独立使用的用于客户机的包。 服务器和客户机可能会共享您希望放在它们之间共享的包中的公共POJO

如果你使用像这样的插件风格,那么你需要一个通用接口和加载器的包,但是任何实现都将放在自己的包中。与SLF4J及其实现进行比较。 插件加载包和每个插件实现都需要共享一个包含插件接口的小包


现在,如果您选择一种服务风格,那么您的整个服务可能只有一个顶级包,但您可以选择基于不同的域组织子包,例如,一个用于核心逻辑的包,可以进行单元测试,而无需考虑IO问题,一个用于处理与IO交互的包。换句话说,核心接口只是与对象和方法有关,但IO包处理解析请求和打印响应。

也许你的问题在这里会更好:谢谢你的建议,我会把它张贴在那里。@CalvinNunes在提到其他网站时,指出@RonaldoGeldres已经有一段时间了,这通常是很有帮助的,所以提醒你回顾一下我的问题回答并标记它是否回答了您的问题