Please enable JavaScript.
Coggle requires JavaScript to display documents.
Design Patterns - Coggle Diagram
Design Patterns
Nhóm hành vi (Behavioral)
Visitor
Tùy thuộc user như nào mà có các hành vi tương ứng khác nhau với cùng một đối tượng
Memento
Dùng cho việc khôi phục trạng thái trước đó của đối tượng
Iterator
Cho phép truy cập tuần tự các phần tử mà không để lộ logic bên trong.
Command
Tương tự mô hình MVC, tách biệt giữa View và Controller dể xử lý Model.
Interpreter
Observer
Giống như việc xử lý subscribe, mỗi khi có video mới thì cần notify tới những user đã sub.
Strategy
Ví dụ với cùng một bài toán tìm đường đi, user di chuyển bằng xe đạp, xe máy, oto sẽ có thể có kết quả khác nhau.
Nhóm cấu trúc (Structural)
Facade
Là một interface chỉ hiển thị những tính năng chính mà user cần. Như User cần tạo một order. Chỉ cần qtam tới việc gọi tạo Order. Còn sau đó bên trong xử lý từ việc Lựa sản phẩm, Thanh toán, Hóa đơn.
Adapter
Là một cầu nối giữa hai hệ thống có thể nói chuyện được với nhau. Kiểu như hệ thống báo cáo cần dữ liệu là dạng JSON, nhưng hệ thống dữ liệu lại chỉ xuất được file Excel. => Tạo ra Adapter nhận file Excel chuyển thành file JSON.
Composite
Áp dụng cho bài toán có cấu trúc cây. Như tạo đơn hàng, trong đơn hàng có gom từ nhiều nhà phân phối, mỗi nhà phân phối lại có những mặt hàng khác nhau.
Decorator
Áp dụng trong bài toán notification mà nội dung gửi giống nhau, chỉ khác là gửi ở các môi trường khác nhau như sms, mail, telegram...
Proxy
Tạo một đối tượng đại diện cho đối tượng gốc, user làm việc với đối tượng đại diện. Mục đích bảo mật.
Flyweight
Tiết kiệm bộ nhớ, gom các phần chung vào một đối tượng. Những phần riêng như trạng thái, vị trí có thể tách mảng riêng, không lưu kèm bên trong đối tượng.
Nhóm khởi tạo (Creational)
Factory
Là nơi trả ra các sub class theo tham số truyền vào
Singleton
Tạo ra một đối tượng được dùng xuyên suốt dự án. Như tầng Data.
Builder
Xây dựng một đối tượng phức tạp bằng cách chia nhỏ thành phần ra những đối tượng đơn giản.
Prototype
Clone một đối tượng từ đối tượng có sẵn. Dạng copy bài viết sẵn có và sửa lại nội dung, ngày xuất bản...