技術共有

システムアーキテクトチュートリアル (清華語第 2 版) <第 1 章 はじめに> 解釈

2024-07-08

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

1.1 システムアーキテクチャの概要

   系统架构(System Architecture)是系统的一种整体的高层次的结构表示,是系统的骨架和根基,支撑和链接各个部分,包括组件、连接件、约束规范以及指导这些内容设计与演化的原理。它是刻画系统整体抽象结构的一种手段,也决定了系统的健壮性和生命周期的长短。

1.1.1 システムアーキテクチャの定義と開発の歴史

   软件系统架构是指对软件系统整体结构和组成部分的规划和设计,包括不同模块之间的关系、数据流动、处理流程、分层和模块化结构等。软件系统架构的设计可以帮助开发团队更好地理解系统的整体结构,提高系统的可维护性、可扩展性和性能。
   软件系统架构的发展历程可以大致分为以下几个阶段:
   1. 单层结构:最早期的软件系统架构采用单层结构,即将所有功能模块都集中在一个程序中实现。这种结构简单直观,但随着软件系统规模的增大和复杂度的提高,单层结构难以满足需求。
   2. 分层结构:分层结构将软件系统划分为不同的层次,每个层次负责不同的功能。常见的分层结构包括三层架构和MVC架构。分层结构可以提高系统的可维护性和扩展性,同时降低了开发的复杂性。
   3. 客户端-服务器架构:客户端-服务器架构是一种分布式架构,将客户端和服务器端分开,客户端负责用户界面和用户输入,服务器端负责处理逻辑和数据存储。这种架构可以减轻服务器端的负担,提高系统的性能和扩展性。
   4. 面向服务的架构(SOA):面向服务的架构将系统划分为多个独立的服务,每个服务可以独立部署和扩展。不同服务之间通过接口进行通信,实现系统的灵活性和可重用性。
   5. 微服务架构:微服务架构是一种轻量级的面向服务的架构,将系统划分为多个小型独立服务,每个服务可以独立开发、部署和运行。微服务架构提供了更好的可扩展性和弹性,适合大型复杂系统的构建。
   总的来说,软件系统架构经历了从单层结构到分层结构、客户端-服务器架构、面向服务的架构再到微服务架构的发展过程,不断地提高系统的可维护性、可扩展性和性能,促使软件开发变得更加高效和灵活。

1.1.2 ソフトウェア アーキテクチャの一般的な分類とモデリング方法

   软件架构通常可以分为四种常用分类:
   1、分层架构
   将软件系统分解为不同的层次,每一层都有特定的职责和功能。常见的分层架构包括三层架构(展示层、业务逻辑层和数据访问层)和四层架构(展现层、通讯层、服务层和数据访问层)等。

ここに画像の説明を挿入します
2. ドメイン駆動設計 (DDD)
ソフトウェアアプリケーション分野を核として、システムはさまざまなドメインモデルとサブドメインに分解され、ドメインモデルの設計と実装を通じてシステム機能が実現されます。
2004 年に、Eric Evans は、『ドメイン駆動設計 – ソフトウェアの中心部の複雑さに取り組む』という本を出版しました。それ以来、ドメイン駆動設計 (DDD) が誕生しました。 DDD の中心的な考え方は、ドメイン駆動設計手法を通じてドメイン モデルを定義し、ビジネスとアプリケーションの境界を決定し、ビジネス モデルとコード モデルの間の一貫性を確保することです。
DDD は、共通言語を使用してイベント ストームを通じてビジネス ドメインをモデル化し、境界のあるコンテキストを通じて合理的なドメイン分割を実行する設計アイデアです。