Khi phát triển phần mềm điều bất biến đó chính là sự thay đổi. Các thay đổi dĩ nhiên sẽ làm hệ thống phình to ra . Câu hỏi đặt ra làm thế nào để ảnh hưởng của các thay đổi này là nhỏ nhất. Câu trả lời là sử dụng Design pattern vậy Design pattern là gì mà thần thành vậy chúng ta cùng tìm hiểu nó nhé!

Design pattern là gì?

Design Pattern là một kỹ thuật trong lập trình hướng đối tượng, cung cấp cho chúng ta cách tư duy trong các tình huống xảy ra của lập trình hướng đối tượng cũng như trong quá trình phân tích thiết kế và phát triển phần mềm.

Design pattern là một giải pháp tổng thể cho các vấn đề chung trong thiết kế phần mềm. Một mẫu thiết kế không phải là một thiết kế hoàn thiện để mà có thể được chuyển đổi trực tiếp thành mã; nó chỉ là một mô tả hay là sườn (template) mô tả cách giải quyết một vấn đề mà có thể được dùng trong nhiều tình huống khác nhau.

Design pattern có thể giúp thiết kế của chúng ta linh hoạt, dễ dàng thay đổi và bảo trì hơn.

Tại sao cần học design pattern

  • Việc phát triển phần mềm trở nên dễ dàng hơn
  • Cải thiện các kĩ năng lập trình hướng đối tượng
  • Nhận ra các mẫu (pattern) trong các thư viện và ngôn ngữ
  • Tìm kiếm sự thật và cái đẹp

Cần gì để học design patterns.

  • Điều đầu tiên mình muốn nói là design pattern không dành cho nhưng bạn mới bắt đầu tìm hiểu về lập trình.
  • Muốn tìm hiểu và học được design pattern thì bạn phải nắm chắc được kiến thức OOP đặc biệt là về abstract class, interface và static.

Các loại design patterns.

Về cơ bản thì design pattern sẽ được chia làm 3 dạng chính và mỗi dạng chính và có tổng cộng 32 mẫu design:

Creational Pattern ( nhóm khởi tạo):

Nhóm này sẽ giúp bạn rất nhiều trong việc khởi tạo đối tượng, mà bạn khó có thể nhận ra (nó sẽ không dùng từ khóa new như bình thường). Nhóm này gồm 9 mẫu design là:

  • Abstract Factory.
  • Builder.
  • Factory Method.
  • Multiton.
  • Pool.
  • Prototype.
  • Simple Factory.
  • Singleton.
  • Static Factory.

Structural (nhóm cấu trúc):

Nhóm này sẽ giúp chúng ta thiết lập, định nghĩa quan hệ giữa các đối tượng. Nhóm này gồm có 11 mẫu design là:

  • Adapter/ Wrapper.
  • Bridge.
  • Composite.
  • Data Mapper.
  • Decorator.
  • Dependency Injection.
  • Facade.
  • Fluent Interface.
  • Flyweight.
  • Registry.
  • Proxy

Behavioral patterns (nhóm ứng xử):

Nhóm này sẽ tập trung thực hiện các hành vi của đối tượng. Gồm 12 mẫu design là:

  • Chain Of Responsibilities.
  • Command.
  • Iterator.
  • Mediator.
  • Memento.
  • Null Object.
  • Observer.
  • Specification.
  • State.
  • Strategy.
  • Template Method.
  • Visitor.

Ngoài ra thì trong thời gian gần đây đã xuất hiện thêm 4 mẫu design nữa đó là:

  • Delegation.
  • Service Locator.
  • Repository.
  • Entity-Attribute-Value (EAV).

Viết câu trả lời

Drop Images

0 Bình luận