Thiết kế kiến trúc phần mềm, 10 mô hình kiến ​​trúc phần mềm phổ biến

     

Khi ai đó đào sâu vào trái đất của bản vẽ xây dựng Phần mềm, một ngày nào đó họ sẽ cần học những kiến thức cơ bạn dạng về các mẫu kiến trúc Phần mềm. Khi tôi new học code, tôi ko biết tìm đâu thấy nguồn tài liệu nhằm học, duy nhất là các tài liệu cụ thể và dễ hiểu.

Bạn đang xem: Thiết kế kiến trúc phần mềm, 10 mô hình kiến ​​trúc phần mềm phổ biến

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

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

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

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

Kiến trúc phân lớpKiến trúc phía sự kiệnKiến trúc microkernel (hoặc bản vẽ xây dựng Plugin)Kiến trúc microservicesKiến trúc dựa trên không khí (hoặc mẫu phong cách xây dựng đám mây)

1. Phong cách xây dựng phân lớp

Đây là loài kiến trúc thịnh hành nhất cho các ứng dụng nguyên khối. Ý tưởng cơ bạn dạng đằng sau quy mô là chia xúc tích ứng dụng thành các lớp, từng lớp gói gọn vai trò núm thể. Ví dụ: lớp Persistence sẽ chịu đựng trách nhiệm giao tiếp ứng dụng với qui định cơ sở dữ liệu..

*

2. Phong cách xây dựng hướng sự kiện

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

Xem thêm: Không Thể Tìm Thấy Địa Chỉ Ip Của Máy Chủ

*

3. Phong cách thiết kế Microkernel

Kiến trúc Mikrokernel, nói một cách khác là kiến trúc Plugin, là tế bào hình thiết kế 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 vời nhất sẽ là trình để ý Web (hệ thống lõi) nơi bạn có thể cài đặt các tiện ích không ngừng mở rộng (hoặc plugin) vô tận.

*

4. Phong cách xây dựng Microservices

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

*

5. Phong cách 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 khí là bộ nhớ được share phân tán để sút thiểu những vấn đề tiếp tục xảy ra ở cấp các đại lý dữ liệu. Giả định là bằng phương pháp xử lý phần lớn các hoạt động sử dụng dữ liệu trong bộ nhớ, chúng ta cũng có thể tránh các hoạt động bổ sung trong cơ sở dữ liệu, vì đó bất kỳ vấn đề như thế nào trong tương lai rất có thể phát triển từ đó (ví dụ: giả dụ thực thể dữ liệu chuyển động người dùng của chúng ta đã cầm đổi, bạn không buộc phải để đổi khác một loạt mã liên tục và tróc nã xuất tài liệu đó từ bỏ DB).

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

*

Bạn có thể tìm thấy các ví dụ đơn giản dễ dàng nhất cho một vài mẫu bản vẽ xây dựng đó trong thông tin tài khoản GitHub dưới đây:


Chuyên mục: Domain Hosting