本材料是“企业发展概论”系列的一部分。关于网络的第一部分在这里。 软件架构是创建应用程序以及整个程序的模块和组件交互的基础的结构。长期以来,程序员一直在尝试创建良好的架构,因此我们现在了解很多架构模式也就不足为奇了。您需要理解它们:当您编写 Web 应用程序时,架构问题变得很尖锐,因为其中比常规应用程序有更多的组件和模块。 架构模式是解决某些软件设计问题的一种经过深思熟虑的方法。您可能已经遇到过工厂方法、抽象工厂、构建器、原型、单例等设计模式。它们用于简单地编写代码、创建类并规划它们的交互方式。架构模式用于更高的抽象级别 - 当规划应用程序用户与服务器、数据和项目的其他组件的交互时。让我们快速浏览一下一些模板以及如何使用它们。
简单的客户端-服务器架构很少使用,并且仅用于非常简单的应用程序。对于真正大型且复杂的项目,会使用不同类型的架构,您将来会更加熟悉这些架构。现在,让我们看一个与客户端-服务器模型非常相似的模型。
客户端-服务器架构
从名字上就可以看出这个主题的一切都很简单明了。但让我们澄清一些要点,以便当您开始研究条件 Spring 时,您可以准确理解我们在说什么。假设您编写了一条聊天记录,并且您和您的朋友开始使用它。这里有一个简单的选择 - 您使用您知道的 IP 地址直接通过互联网向对方发送消息: 起初,似乎一切正常,直到您的另一个朋友出现并提出问题:“为什么不这样做?你不把我加入你的聊天室吗?” 当您决定将共同的朋友添加到聊天中时,您将面临一个架构问题:每个聊天用户都需要更新有关用户数量的信息,添加新用户的 IP 地址。并且在发送消息时,必须将其传递给所有参与者。这些是将会出现的最明显的问题。更多的问题将隐藏在代码本身中。为了避免它们,您需要使用一个服务器来存储有关用户的所有信息并知道他们的地址。该消息只需发送到服务器即可。反过来,他会将消息发送给所有收件人。当您决定在聊天中添加服务器端时,您将开始构建客户端-服务器架构。客户端-服务器架构的组件
让我们弄清楚她是什么。 客户端-服务器架构是一种设计模式,是创建 Web 应用程序的基础。该架构由三个组件组成:-
客户端 - 从名称中可以清楚地看出这是一个服务(Web 应用程序)的用户,他联系服务器以获取某些信息。
- 服务器是您的 Web 应用程序或其服务器部分所在的位置。他拥有或可以请求有关用户的必要信息。此外,当客户端联系时,服务器返回请求的信息。
-
网络很简单:它保证客户端和服务器之间的信息交换。
-
客户端 - 包含用于授权、发送/接收消息的图形界面;
-
服务器端 - 托管在服务器上的 Web 应用程序,接收来自用户的消息,对其进行处理,然后将其发送给收件人。
重要提示:服务器的概念不是关于特定的计算机,而是关于网络订阅者之间的关系。 |
三层架构
这种架构模式引入了第三个参与者:数据仓库。使用此模式时,这三个级别通常称为层:-
客户端层是用户界面。这可以是 HTML 页面发送到的 Web 浏览器,也可以是使用 JavaFX 编写的 GUI 应用程序。最主要的是,在它的帮助下,用户可以向服务器发送请求并处理其响应。
-
逻辑层是处理请求/响应的服务器。它通常也称为服务器层。所有逻辑操作也发生在这里:数学计算、数据操作、调用其他服务或数据存储。
-
数据层是数据库服务器:我们的服务器访问它。该层存储应用程序在操作期间使用的所有必要信息。
三层架构的优点
使用这样的架构,我们获得了很多优势,包括:-
建立针对SQL注入的防护能力是对传输SQL代码的服务器进行攻击,当执行此代码时,攻击者可以影响我们的数据库。
-
我们想要规范用户访问的数据的界定。
-
能够在将数据发送给客户端之前修改数据。
-
可扩展性 - 将我们的应用程序扩展到将使用相同数据库的多个服务器的能力。
-
对用户连接质量的要求较低。当在服务器上生成响应时,我们经常从数据库中获取大量不同的信息,对其进行格式化,只留下用户需要的信息。通过这种方式,我们可以减少作为响应发送给客户端的信息量。
GO TO FULL VERSION