Tài liệu này phác thảo blueprint cho dự án phần mềm của chúng ta, tập trung vào các design pattern, quyết định kiến trúc và cấu trúc hệ thống.
- Mục Tiêu Project
- Design Patterns
- Tài Liệu Tham Khảo
Mục tiêu chính của project này là xây dựng một hệ thống có thể mở rộng và bảo trì dễ dàng bằng cách áp dụng các best practices và design pattern. Chúng tôi nhắm đến việc đảm bảo hiệu suất cao, dễ sử dụng và khả năng mở rộng.
Creational patterns liên quan đến việc tạo đối tượng trong hệ thống mà không cần phụ thuộc vào lớp cụ thể của đối tượng.
-
- Đảm bảo rằng chỉ có một instance duy nhất của một class và cung cấp một điểm truy cập toàn cầu.
- Chi tiết
-
- Cung cấp một interface để tạo đối tượng, nhưng để các subclass quyết định loại đối tượng sẽ được tạo.
- Chi tiết
-
- Cung cấp một interface để tạo ra các nhóm đối tượng liên quan mà không cần phải xác định các lớp cụ thể của chúng.
- Chi tiết
-
- Tách việc xây dựng một đối tượng phức tạp thành các bước nhỏ và cho phép các bước này được thực hiện theo cách riêng.
- Chi tiết
-
- Tạo các đối tượng mới bằng cách sao chép một đối tượng hiện có thay vì khởi tạo một đối tượng mới từ đầu.
- Chi tiết
Structural patterns tập trung vào cách các lớp và đối tượng được tổ chức và kết nối với nhau.
-
- Cung cấp một cách để làm cho các class không tương thích có thể làm việc với nhau bằng cách chuyển đổi interface của một class thành một interface mà client mong đợi.
- Chi tiết
-
- Tách rời abstraction khỏi implementation, cho phép chúng thay đổi độc lập mà không ảnh hưởng đến nhau.
- Chi tiết
-
- Cho phép các đối tượng được tổ chức theo cấu trúc cây, giúp dễ dàng làm việc với các đối tượng đơn lẻ hoặc nhóm đối tượng như một.
- Chi tiết
-
- Cung cấp cách để thêm các tính năng mới vào đối tượng mà không cần phải thay đổi mã gốc của class đó.
- Chi tiết
-
- Cung cấp một giao diện đơn giản, gọn gàng cho một hệ thống phức tạp, ẩn đi các chi tiết phức tạp của hệ thống.
- Chi tiết
-
- Chia sẻ các đối tượng giống nhau để giảm bớt bộ nhớ khi có nhiều đối tượng giống nhau được tạo ra trong hệ thống.
- Chi tiết
-
- Cung cấp một đối tượng thay thế (proxy) để kiểm soát quyền truy cập đến đối tượng thực (real object).
- Chi tiết
Behavioral patterns liên quan đến cách các đối tượng tương tác và giao tiếp với nhau.
-
- Cho phép các đối tượng xử lý yêu cầu theo một chuỗi, mỗi đối tượng có thể xử lý hoặc chuyển tiếp yêu cầu cho đối tượng tiếp theo trong chuỗi.
- Chi tiết
-
- Biến đổi yêu cầu vào một đối tượng để có thể lưu trữ, truyền tải hoặc ghi lại yêu cầu đó.
- Chi tiết
-
- Cung cấp cách để giải thích hoặc đánh giá các ngữ pháp hoặc cú pháp của một ngôn ngữ, ví dụ như parser cho ngôn ngữ lập trình.
- Chi tiết
-
- Cung cấp cách để truy cập từng phần tử trong một collection mà không cần phải lộ ra cấu trúc bên trong của collection đó.
- Chi tiết
-
- Giảm sự phụ thuộc giữa các đối tượng, cho phép các đối tượng giao tiếp thông qua một đối tượng trung gian (mediator).
- Chi tiết
-
- Cho phép lưu trữ và khôi phục trạng thái của một đối tượng mà không làm lộ chi tiết bên trong của nó.
- Chi tiết
-
- Cho phép một đối tượng (subject) thông báo cho các đối tượng khác (observers) về sự thay đổi của mình mà không cần biết trước các observers là ai.
- Chi tiết
-
- Cho phép đối tượng thay đổi hành vi của mình khi trạng thái của nó thay đổi, giống như thể nó đã thay đổi lớp.
- Chi tiết
-
- Cung cấp một cách để chọn lựa thuật toán hoặc hành vi tại thời điểm chạy, thay vì gắn liền với một thuật toán cố định.
- Chi tiết
-
- Định nghĩa một phương thức trong class cha và để các subclass cung cấp các bước cụ thể của thuật toán mà không làm thay đổi cấu trúc tổng thể của nó.
- Chi tiết