Kiến trúc hệ thống phần mềm

      11

Khi ai kia đào sâu vào nhân loại của kiến trúc Phần mềm, một ngày nào kia họ sẽ yêu cầu học những kỹ năng cơ bản về các mẫu bản vẽ xây dựng Phần mềm. Khi tôi bắt đầu học code, tôi không biết tìm đâu ra nguồn tài liệu nhằm học, tuyệt nhất là những tài liệu cụ thể và dễ hiểu.

Bạn đang xem: Kiến trúc hệ thống phần mềm

Mãi cho tới khi tôi tìm thấy cuốn sách Software Architecture Patterns của Mark Richards. Bên dưới đây, tôi sẽ chia sẻ cho chúng ta một số phần đặc trưng của cuốn sách và những mẫu con kiến trúc. Để gồm cái nhìn trọn vẹn và kiến thức rõ ràng hơn, tôi vẫn khuyên chúng ta nên đọc sách nhé!

Tại sao chúng ta nên học các Mẫu phong cách thiết kế cơ bạn dạng như một Kỹ sư phần mềm?

Tôi tin rằng có không ít câu trả lời cho thắc mắc này, tuy vậy tôi sẽ giới thiệu một vài tại sao để bạn cân nhắc. Trước hết, nếu bạn biết những kiến thức cơ bạn dạng về những mẫu kiến trúc thì bạn sẽ dễ dàng thực hiện theo yêu mong của bản vẽ xây dựng sư hơn. Thứ hai, biết mọi mẫu đó để giúp bạn đưa ra ra quyết định trong code của mình. Ví dụ: nếu kiến tạo ứng dụng dựa trên những dịch vụ bé dại hướng sự kiện, với tư cách là một trong kỹ sư phần mềm, các bạn phải bóc tách code của mình thành một dịch vụ riêng lẻ nếu bạn nhận thấy sự phức tạp gia tăng và trách nhiệm của xúc tích trong dịch vụ thương mại hiện có. (Nếu bạn không hiểu biết phần này, chỉ việc làm theo văn bản, nơi mẫu này được lý giải ngắn gọn).

Có 5 mẫu mã được miêu tả trong cuốn sách của Mark Richards:

Kiến trúc phân lớpKiến trúc hướng sự kiệnKiến trúc microkernel (hoặc phong cách thiết kế Plugin)Kiến trúc microservicesKiến trúc dựa trên không khí (hoặc mẫu phong cách thiết kế đám mây)

1. Phong cách thiết kế phân lớp

Đây là con kiến trúc thông dụng nhất cho những ứng dụng nguyên khối. Ý tưởng cơ phiên bản đằng sau mô hình là chia xúc tích và ngắn gọn ứng dụng thành nhiều lớp, mỗi lớp gói gọn vai trò nuốm thể. Ví dụ: lớp Persistence sẽ chịu trách nhiệm tiếp xúc ứng dụng với luật pháp cơ sở dữ liệu..

*

2. Bản vẽ xây dựng hướng sự kiện

Ý tưởng ẩn dưới mẫu này là bóc logic áp dụng thành các thành phần giải pháp xử lý sự kiện có mục đích duy tuyệt nhất nhận với xử lý những sự kiện một giải pháp không đồng bộ. Mẫu mã này là trong những mẫu kiến trúc không đồng hóa phân tán phổ biến được biết đến với năng lực mở rộng và khả năng thích ứng cao.

Xem thêm: Hướng Dẫn Cách Giảm Dung Lượng File Zip Giảm Dung Lượng Xuống Mức Thấp Nhất

*

3. Phong cách xây dựng Microkernel

Kiến trúc Mikrokernel, còn gọi là kiến trúc Plugin, là mô hình xây dựng với nhì thành phần chính: một hệ thống lõi và các mô-đun plug-in (hoặc phần mở rộng). Một ví dụ tuyệt đối sẽ là trình chú tâm Web (hệ thống lõi) nơi chúng ta có thể cài đặt những tiện ích mở rộng (hoặc plugin) vô tận.

*

4. Kiến trúc Microservices

Kiến trúc microservices bao gồm các dịch vụ được triển khai riêng biệt, trong đó mỗi dịch vụ sẽ sở hữu được một nhiệm vụ lý tưởng. Các dịch vụ đó chủ quyền với nhau với nếu một dịch vụ thương mại bị lỗi thì các dịch vụ khác vẫn không kết thúc chạy.

*

5. Bản vẽ xây dựng dựa trên ko gian

Ý tưởng chủ yếu đằng sau quy mô dựa trên không gian là bộ nhớ lưu trữ được share phân tán để bớt thiểu các vấn đề thường xuyên xảy ra làm việc cấp cửa hàng dữ liệu. Mang định là bằng cách xử lý phần nhiều các hoạt động sử dụng dữ liệu trong cỗ nhớ, chúng ta cũng có thể tránh các hoạt động bổ sung cập nhật trong các đại lý dữ liệu, vì chưng đó bất kỳ vấn đề làm sao trong tương lai rất có thể phát triển từ kia (ví dụ: trường hợp thực thể dữ liệu hoạt động người dùng của doanh nghiệp đã chũm đổi, chúng ta không buộc phải để thay đổi một loạt mã liên tục và truy nã xuất dữ liệu đó trường đoản cú DB).

Cách tiếp cận cơ bản là bóc ứng dụng thành những đơn vị cách xử trí (có thể tự động tăng và sút quy mô dựa trên nhu cầu), nơi dữ liệu sẽ được sao chép và cách xử lý giữa những đơn vị này mà không cần bất kỳ sự ổn định nào so với cơ sở tài liệu trung trung tâm (mặc dù sẽ có được các kho lưu giữ trữ toàn thể cho nhân sự núm hệ thống).

*

Bạn rất có thể tìm thấy các ví dụ đơn giản nhất cho một số trong những mẫu phong cách thiết kế đó trong tài khoản GitHub dưới đây:

hotlive |

Hi88