-
-
Notifications
You must be signed in to change notification settings - Fork 62
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
1 parent
50b3387
commit 84be185
Showing
5 changed files
with
121 additions
and
25 deletions.
There are no files selected for viewing
Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,39 @@ | ||
# Behavioral Patterns | ||
|
||
Behavioral Patterns liên quan đến cách giao tiếp và trao đổi thông tin giữa các đối tượng và lớp. Các Pattern thuộc nhóm này gồm: | ||
|
||
## [Chain of Responsibility] | ||
|
||
Cho phép chuyển các yêu cầu dọc theo chuỗi các đối tượng xử lý. | ||
|
||
## [Command] | ||
Đóng gói yêu cầu thành các đối tượng có thể tham số hóa | ||
|
||
## [Iterator] | ||
|
||
Truy cập tuần tự các phần tử một tập hợp dữ liệu | ||
|
||
## [Mediator] | ||
|
||
Định nghĩa một đối tượng trung gian để giao tiếp giữa các đối tượng. | ||
|
||
## [Memento] | ||
|
||
## [Observer] | ||
|
||
Định nghĩa phụ thuộc một chiều giữa các đối tượng | ||
|
||
## [State] | ||
|
||
Cho phép một đối tượng thay đổi hành vi dựa trên trang thái nội bộ | ||
|
||
## [Strategy] | ||
|
||
Định nghĩa tập các thuật toán có thể thay thế cho nhau để giải quyết một vấn đề. | ||
|
||
## [Template Method] | ||
Định nghĩa bố cục xử lý chung cho một thuật toán, hoãn lại các bước cụ thể cho lớp con. | ||
|
||
## [Visitor] | ||
|
||
Tách biệt các thuật toán khởi các đối tượng mà chúng hoạt động trên đó. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,25 @@ | ||
# Creational Patterns | ||
|
||
Creational Patterns cung cấp các giải pháp khởi tao đối tượng một cách linh hoạt và phù hợp với bối cảnh sử dụng. Các Pattern thuộc nhóm này gồm: | ||
|
||
## [Singleton] | ||
|
||
Đảm bảo chỉ có duy nhất một instance của một class trong toàn bộ chương trình. | ||
|
||
## [Factory Method] | ||
|
||
Định nghĩa một interface để tạo các đối tượng trong superclass nhưng cho phép lớp con quyết định instance nào sẽ được tạo. | ||
|
||
## [Abstract Factory] | ||
|
||
Cung cấp một interface để tạo ra các họ đối tượng liên quan hoặc phụ thuộc lẫn nhau. | ||
|
||
## [Builder] | ||
|
||
Tách biệt quá trình khởi tạo đối tượng phức tạp khởi các đại diện của nó | ||
|
||
## [Prototype] | ||
|
||
Tạo ra các đối tượng dựa trên một mẫu đối tượng ban đầu | ||
|
||
Các Pattern này giải quyết vấn đề khởi tạo đối tượng một cách linh hoạt, thay vì khởi tạo trực tiếp bằng từ khóa new. Giúp tăng tính mềm dẻo và tái sử dụng code. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
# Structural Patterns | ||
|
||
Structural Patterns liên quan đến cấu trúc và mối quan hệ giữa các lớp và đối tượng nhằm tạo ra cấu trúc phần mềm dễ thay đổi và bảo trì hơn. | ||
|
||
Các Pattern thuộc nhóm này gồm: | ||
|
||
## [Adapter] | ||
|
||
Cho phép giao tiếp giữa các interface không tương thích | ||
|
||
## [Bridge] | ||
|
||
Tách rời một lớp phức tạp thành hai phần riêng biệt: trừu tượng và triển khai. | ||
|
||
## [Composite] | ||
|
||
Tạo ra cấu trúc cây để biểu diễn mối quan hệ whole-part giữa các đối tượng. | ||
|
||
## [Decorator] | ||
|
||
Dynamically thêm chức năng mới cho đối tượng mà không ảnh hưởng đến các đối tượng khác. | ||
|
||
## [Facade] | ||
|
||
Cung cấp một giao diện đơn giản cho một nhóm các lớp phức tạp. | ||
|
||
## [Flyweight] | ||
|
||
Sử dụng chia sẻ để hỗ trợ tao hàng loạt các đối tượng hiệu quả hơn. | ||
|
||
## [Proxy] | ||
|
||
Đại diện cho một đối tượng khác để kiểm soát truy cập vào đối tượng đó. | ||
|
||
Các Pattern này giải quyết vấn đề cấu trúc và mối quan hệ giữa các thành phần trong phần mềm để tối ưu hóa tính linh hoạt, bảo trì và tái sử dụng. |