Interpreter Pattern là gì? Given a language, define a representation for its grammar along with an interpreter that uses the representation to interpret sentences in the language. Interpreter Pattern là một trong những Pattern thuộc nhóm hành vi (Behavior Pattern). Interpreter nghĩa là thông dịch, mẫu này nói rằng “để xác định một biểu diễn […]
Design Pattern là một kỹ thuật trong lập trình hướng đối tượng, nó khá quan trọng và mọi lập trình viên muốn giỏi đều phải biết. Được sử dụng thường xuyên trong các ngôn ngữ OOP. Nó sẽ cung cấp cho bạn các "mẫu thiết kế", giải pháp để giải quyết các vấn đề chung, thường gặp trong lập trình. Các vấn đề mà bạn gặp phải có thể bạn sẽ tự nghĩ ra cách giải quyết nhưng có thể nó chưa phải là tối ưu. Design Pattern giúp bạn giải quyết vấn đề một cách tối ưu nhất, cung cấp cho bạn các giải pháp trong lập trình OOP.
Trong Design Pattern có 3 nhóm bao gồm:
- Creational Pattern (nhóm khởi tạo) gồm: Abstract Factory, Factory Method, Singleton, Builder, Prototype. Nó sẽ giúp bạn trong việc khởi tạo đối tượng, như bạn biết để khởi tạo bạn phải sử dụng từ khóa new, nhóm Creational Pattern sẽ sử dụng một số thủ thuật để khởi tạo đối tượng mà bạn sẽ không nhìn thấy từ khóa này.
- Structural Pattern (nhóm cấu trúc) gồm: Adapter, Bridge, Composite, Decorator, Facade, Proxy và Flyweight.. Nó dùng để thiết lập, định nghĩa quan hệ giữa các đối tượng.
- Behavioral Pattern gồm: Interpreter, Template Method, Chain of Responsibility, Command, Iterator, Mediator, Memento, Observer, State, Strategy và Visitor. Nhóm này dùng trong thực hiện các hành vi của đối tượng.
Design Pattern có 23 mẫu cơ bản(GoF) và bên dưới là các bài hướng dẫn về Design Pattern:
Hướng dẫn Java Design Pattern – Command
Đôi khi chúng ta cần gửi các yêu cầu cho các đối tượng mà không biết bất cứ điều gì về hoạt động được yêu cầu hoặc người nhận yêu cầu. Chẳng hạn chúng có một ứng dụng văn bản, khi click lên button undo/ redo, save, … yêu cầu sẽ được chuyển đến hệ […]
Hướng dẫn Java Design Pattern – Chain of Responsibility
Trong các viết trước chúng ta đã cùng tìm hiểu về các Design Pattern thuộc nhóm cấu trúc (Structuaral Pattern). Trong bài viết hôm nay chúng ta sẽ cùng tìm hiểu một Pattern thuộc nhóm hành vi (Behavior Pattern) là Chain of Responsibility. Toàn bộ các mẫu hành vi (Behavior Pattern) xoay quanh nguyên tắc […]
Hướng dẫn Java Design Pattern – Proxy
Khi cần điều khiển truy nhập tới một đối tượng được thực hiện từ quá trình khởi tạo nó cho tới khi thực sự cần sử dụng nó. Hoặc cần bảo vệ quyền truy xuất vào các phương thức của object thực. Trong trường hợp như vậy, ta nên dùng mẫu thiết kế Proxy. Proxy Pattern […]
Hướng dẫn Java Design Pattern – Flyweight
Trong một số tình huống trong phát triển phần mềm, chúng ta có thể cải thiện hiệu suất của ứng dụng với việc sử dụng Cache. Hãy tưởng tượng rất nhiều đối tượng được tạo ra và lãng phí bộ nhớ. Mô hình Flyweight được tạo ra để tránh vấn đề này và tối ưu […]
Hướng dẫn Java Design Pattern – Facade
Khi bạn làm việc với một số lượng lớn các đối tượng trong một hệ thống hay một thư viện phức tạp. Bạn phải tự khởi tạo tất cả các đối tượng này, theo dõi các thay đổi của nó, thứ tự logic của bạn phải xử lý chính xác với bên thứ ba, … […]
Hướng dẫn Java Design Pattern – Decorator
Một trong những khía cạnh quan trọng nhất trong quá trình phát triển một ứng dụng mà các lập trình viên phải đối đầu là sự thay đổi. Khi muốn thêm hoặc loại bỏ một tính năng của một đối tượng, điều đầu tiên chúng ta nghĩ đến là thừa kế (extends). Tuy nhiên, thừa kế […]
Hướng dẫn Java Design Pattern – Composite
Trong các bài viết trước chúng ta đã tìm hiểu về Bridge Pattern và Adapter Pattern. Trong bài viết này chúng ta tiếp tục tìm hiểu một Design Pattern khác thuộc nhóm cấu trúc là Composite Pattern. Composite Pattern là gì? Compose objects into tree structures to represent part-whole hierarchies. Composite lets clients treat individual objects and compositions of […]







