Design Pattern là gì? Design Pattern trong Java – STACKJAVA

Design Pattern là gì ? Design Pattern trong Java .
Trong mấy bài về Framework có mấy bạn hỏi sao dùng @ Inject 1 cái là dùng được đối tượng người dùng mà không cần khởi tạo hay mấy cái Factory là cái gì …
Mấy cái đấy tương quan đến Design pattern nên thời điểm ngày hôm nay mình sẽ 1 mấy bài về design pattern để mọi người thuận tiện hơn khi sử dụng những Framework .

1. Design Pattern là gì?

Trong kỹ thuật phần mềm, design pattern (mẫu thiết kế) là một giải pháp lặp lại nói chung cho một vấn đề thường xảy ra trong thiết kế phần mềm.

Một mẫu phong cách thiết kế không phải là một ngôn từ hay phong cách thiết kế hoàn hảo hoàn toàn có thể được chuyển trực tiếp thành mã. Nó là một miêu tả hoặc mẫu cho cách xử lý yếu tố hoàn toàn có thể được sử dụng trong nhiều trường hợp khác nhau .
Design pattern rất thông dụng trong tăng trưởng ứng dụng, nó được vận dụng sẵn trong những Framework, những thư viện, và nếu trước đó bạn chưa biết khái niệm design pattern là gì thì rất hoàn toàn có thể bạn đã vận dụng nó rồi nhưng không nhận ra đó thôi !

Design Pattern là gì? Design Pattern trong Java

Design Pattern là gì ? Design Pattern trong Java 2

2. Lợi ích của Design Pattern (Mẫu thiết kế).

Một số quyền lợi của việc sử dụng những mẫu phong cách thiết kế là :

  • Các mẫu thiết kế đã được xác định và cung cấp cách tiếp cận chuẩn theo ngành để giải quyết vấn đề lặp lại, vì vậy sẽ tiết kiệm được thời gian nếu chúng ta sử dụng mẫu thiết kế hợp lý.
  • Sử dụng các mẫu thiết kế thúc đẩy khả năng tái sử dụng dẫn đến phát triển phần mềm nhanh hơn. Nó giúp giảm tổng chi phí của sản phẩm phần mềm.
  • Khi áp dụng 1 mẫu thiết kế, nó làm cho code dễ hiểu và gỡ lỗi.

Ví dụ : khi xây nhà thì người ta sẽ vận dụng những bộ khung ( nhà ống, nhà vuông … ) để dễ xây, tiết kiệm ngân sách và chi phí, tương thích tử vi & phong thủy … Thì khi làm ứng dụng người ta sẽ xem nhu yếu để vận dụng những mẫu đã dùng trước đó xem có cái nào tương thích không, vì dựa trên những mẫu cũ ta đã có được những kinh nghiệm tay nghề để làm ứng dụng nhanh hơn, dễ lan rộng ra, bảo dưỡng hơn .
Design Pattern là gì ? Design Pattern trong Java 3

3. Các loại Design Pattern

Design Pattern được chia làm 3 loại là mẫu tạo dựng, mẫu cấu trúc, mẫu hành vi.

Ở bài này mình sẽ liệt kê những mẫu hay dùng nhất và code ví dụ nó bằng Java .

Mẫu tạo dựng (Creational Design Patterns)

Các mẫu tạo dựng phân phối giải pháp tạo một đối tượng người tiêu dùng theo cách tốt nhất tương thích cho từng tính huống, gồm có :

Mẫu cấu trúc (Structural Design Patterns)

Mẫu cấu trúc phân phối những giải pháp tạo ra cấu trúc của một lớp ( class ), ví dụ dùng thừa kế để tạo một class lớn từ những class bé, gồm có :

Mẫu hành vi (Behavioral Design Patterns)

Các mẫu hành vi cung ứng những giải pháp cho sự tương tác giữa những class, làm thế nào để lose couple, high cohension, tăng tính lan rộng ra. Bao gồm :

  • Template Method Pattern
  • Mediator Pattern
  • Chain of Responsibility Pattern
  • Observer Pattern
  • Strategy Pattern
  • Command Pattern
  • State Pattern
  • Visitor Pattern
  • Interpreter Pattern
  • Iterator Pattern
  • Memento Pattern

Một số mẫu thiết kế khác:

  • Dependency Injection
  • Thread Safety in Java Singleton

* Lưu ý: Các mô hình UML của từng design pattern khi áp dụng trong thực tế có thể nó sẽ khác một chút, có thể thiếu class nay, interface kia nhưng cấu trúc của nó vấn không thay đổi.
Ví dụ như mô hình MVC cũng có MVC 1,2… Một thành phần lúc thì hoạt động giống Model, lúc thì hoạt động giống View, lúc thì kiêm cả 2 chức năng Control và View…

 

References :
https://sourcemaking.com/design_patterns

Java Design Patterns – Example Tutorial