Design patterns (in Java)

Java Design Patterns - Example Tutorial
(Các mẫu thiết kế Java - Cẩm nang ví dụ)


Lời dẫn: Bài viết này lược dịch từ loạt bài viết của PAKAJ. Design patterns (người dịch giữ lại nguyên gốc tiếng Anh không dịch sang tiếng Việt) là kiến thức quan trọng đối với lập trình nói chung và lập trình hướng đối tượng nói riêng. Khái niệm Design patterns được thảo luận chi tiết trong tác phẩm nổi tiếng Design Patterns: Elements of Reusable Object-Oriented Software. Kể từ khi xuất bản đến nay, Design patterns đã được áp dụng sâu rộng và đóng vai trò quan trọng trong lĩnh vực lập trình và công nghệ phần mềm. Trong số các ngôn ngữ lập trình hướng đối tượng phổ biến hiện nay, Java luôn được đánh giá là ngôn ngữ mạnh mẽ và phổ biến nhất trong học thuật lẫn công nghiệp. Trong hiểu biết hạn hẹp của mình, người dịch nhận thấy loạt bài viết của PAKAJ về Design patterns được viết với giọng văn trong sáng, dễ hiểu và các ví dụ thực tế. Đây là lý do chính để người dịch chọn lược dịch loạt bài viết này.


Lợi ích của Design patterns:

  1. Design patterns được định nghĩa và cung cấp cách tiếp cận chuẩn cho giới công nghiệp (phần mềm) để giải quyết các bài toán thường xuyên lặp lại. Vì vậy, bằng cách sử dụng DP sẽ giúp chúng ta tiết kiệm thời gian. Có nhiều DP mà chúng ta có thể sử dụng trong các dự án lập trình bằng ngôn ngữ Java.
  2. Sử dụng DP thúc đẩy việc tái sử dụng dẫn đến mã lệnh sẽ được duy trì tốt hơn cũng như mạnh mẽ hơn. DP cũng giúp giảm tổng chi phí sở hữu của sản phẩm phần mềm.
  3. Do DP được định nghĩa rõ ràng nên nó giúp mã lệnh của chúng ta được dễ hiểu hơn và dễ sửa lỗi hơn. Vì vậy quá trình phát triển phần mềm nhanh hơn và những thành viên mới cảu dự án cũng dễ bắt nhịp hơn. 
Java Design Patterns (JDP) được chia thành 3 nhóm gồm: các mẫu thiết kế dành cho khởi tạo, các mẫu thiết kế dành cho cấu trúc và các mẫu thiết kế dành cho hành vi. Danh mục chi tiết các mẫu thiết kế của 3 nhóm này được trình bày như sau.

Nhóm các mẫu thiết kế dành cho khởi tạo

  1. Singleton Pattern
  2. Factory Pattern
  3. Builder Pattern
  4. Prototype Pattern
Nhóm các mẫu thiết kế dành cho cấu trúc: cung cấp các cách thức khác nhau để tạo ra cấu trúc của lớp. Ví dụ như sử dụng biện pháp thừa kế hay kết hợp để tạo ra một đối tượng lớn từ các đối tượng nhỏ hơn.

  1. Adapter Pattern
  2. Composite Pattern
  3. Proxy Pattern
  4. Flyweight Pattern
  5. Facade Pattern
  6. Bridge Pattern
  7. Decorator Pattern
Nhóm các mẫu thiết kế dành cho hành vi
  1. Template Method Pattern
  2. Mediator Pattern
  3. Chain of Responsibility Pattern
  4. Observer Pattern
  5. Strategy Pattern
  6. Command Pattern
  7. State Pattern
  8. Visitor Pattern
  9. Interpreter Pattern
  10. Iterator Pattern
  11. Memento Pattern

No comments :

Post a Comment