Design Pattern là gì?

 
design-partern-la-gi

Design Pattern là bộ môn thuộc về ngành khoa học máy tính chuyên nghiên cứu các kiên trúc phần mềm. Hiện nay tất cả các Framwork như CodeIgniter, Zend, Laravel đều có sử dụng nhữ kiến trúc design pattern có sẵn và mỗi Framwork sẽ có những kiểu design pattern riêng.  Design Pattern sử dụng nền tảng của lập trình hướng đối tượng, áp dụng các tính chất như tính kế thừa, hàm khởi tạo, tính đa hình, … để làm nên những kiến trúc phần mềm đáp ứng cho project của họ.

Lợi ích của việc sử dụng các mô hình Design Pattern vào phần mềm đó chính là giúp chương trình chạy khéo léo hơn, dễ dàng quản lý tiến trình hoạt động, dễ nâng cấp bảo trì, … Tuy nhiên khi sử dụng mẫu thiết kế thì code sẽ chạy chậm hơn khi ta viết code thuần, nhưng điều này không được liệt kê vào danh sách đen vì nếu code thuần thì không thể làm dự án lớn được.

Danh sách các mẫu design pattern

Đến đây mình xin lược lại nội dung từ trang Wiki.

Các mẫu tạo lập – Creational patterns

  • Abstract factory pattern
  • Builder
  • Factory method pattern
  • Prototype
  • Singleton

Các mẫu cấu trúc – Structural patterns

  • Adapter
  • Bridge
  • Composite
  • Decorator
  • Facade
  • Flyweight
  • Proxy

Các mẫu ứng xử – Behavioral patterns

  • Chain of responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • Observer
  • State
  • Strategy
  • Template method
  • Visitor

Lời kết

Vào chi tiết nội dung tôi sẽ lấy thông tin từ trang Wiki và tìm hiểu thêm những kiến thức từ web nước ngoài để bổ sung đẻ các bạn dễ hiểu hơn. Và vì đây là những kiến thức nâng cao nên tôi cũng phải gom góp rất nhiều nguồn để tổng hợp lại, mong các bạn thông cảm.  Ở những bài sau ta sẽ đi vào từng mẫu design và bạn sẽ thấy sự rõ ràng của nó.

Nguồn: freetuts

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">