Kaitou kid code

Khi siêu đạo chích đi code dạo :)

designpattern

Các Design Patterns

Trong công nghệ phần mềm, một Design Patterns là một giải pháp lặp lại chung cho một vấn đề thường gặp trong thiết kế phần mềm. Một Design Patterns không phải là một thiết kế hoàn chỉnh mà có thể được chuyển trực tiếp vào Code.Nó là một mô tả hoặc mẫu làm thế nào để giải quyết một vấn đề mà có thể được sử dụng trong nhiều tình huống khác nhau.

Sử dụng Design Patterns

Các Design Patterns có thể đẩy nhanh quá trình phát triển bằng cách cung cấp thử nghiệm, mô hình phát triển đã được chứng minh.Thiết kế phần mềm có hiệu quảđòi hỏi phải xem xét vấn đề có thể không trở thành có thể nhìn thấy cho đến khi sau này trong việc thực hiện.Tái sử dụng các Design Patterns giúp ngăn ngừa các vấn đề tinh tế mà có thể gây ra vấn đề lớn và cải thiện khả năng đọc Code cho lập trình viên và họ quen thuộc với các mô hình .

Thông thường, người ta chỉ hiểu làm thế nào để áp dụng các kỹ thuật thiết kế phần mềm nhất định đến các vấn đề nhất định. Những kỹ thuật này rất khó để áp dụng cho một phạm vi rộng hơn của các vấn đề. Các Design Patterns cung cấp giải pháp tổng thể, tài liệu trong một định dạng mà không cần chi tiết cụ thể gắn với một vấn đề cụ thể.

Ngoài ra, mô hình cho phép các nhà phát triển để giao tiếp bằng cách sử nổi tiếng, tên được hiểu rõ cho các tương tác phần mềm.Các Design Patterns phổ biến có thể được cải thiện theo thời gian, làm cho chúng trở nên mạnh mẽ hơn thiết kế ad-hoc.

1. Creational design patterns

Các Design Patterns này là tất cả về lớp instantiation.Mô hình này có thểđược chia thành class-creation patterns và object-creational patterns.Trong khi mô hình class-creation patterns sử dụng thừa kế có hiệu quả trong quá trình instantiation, mô hình object-creational patterns sử dụng sự ủy thác để hoàn thành công việc.

  • Abstract Factory
    Tạo ra các thể hiện của mình trong nội bộ các class (Creates an instance of several families of classes)
  • Builder
    Tách đối tượng xây dựng từ đại diện của nó (Separates object construction from its representation)
  • Factory Method
    Tạo ra một thể hiện của một số các class từ dẫn xuất (Creates an instance of several derived classes)
  • Object Pool
    Tăng cường khả năng giải phóng tài nguyên và tái sử dụng (Avoid expensive acquisition and release of resources by recycling objects that are no longer in use). Để tiết kiệm tài nguyên, thay vì phải tạo 1 instance cho từng công việc (đúng theo pure-OOP), thì dùng pooling để chia sẻ, chỉ cần 1 hoặc vài instance để thực hiện cùng 1 nhiệm vụ.
  • Prototype
    Một thể hiện khởi tạo đầy đủ được sao chép hoặc nhân bản (A fully initialized instance to be copied or cloned)
  • Singleton
    Một class mà chỉ duy nhất 1 thể hiện được tồn tại (A class of which only a single instance can exist)

2. Structural design patterns
Các mẫu thiết kế này là tất cả về lớp và thành phần đối tượng . Structural class-creation patterns sử dụng thừa kế để tạo interfaces. Structural object-patterns xác định cách để tạo ra các đối tượng để có được chức năng mới.

  • Adapter
    Kết hợp nhiều interfaces của các class khác nhau (Match interfaces of different classes)
  • Bridge
    Tách interface của đối tượng từ lớp implement(thực hiện) của nó
  • Composite
    Một cấu trúc cây của các đối tượng đơn giản và tổng hợp (A tree structure of simple and composite objects)
  • Decorator
    Thêm trách nhiệm cho các đối tượng tự động (Add responsibilities to objects dynamically)
  • Facade
    Một lớp duy nhất đại diện cho toàn bộ một hệ thống con (A single class that represents an entire subsystem)
  • Flyweight
    Một thể hiện chi tiết (fine-grained) được sử dụng để chia sẻ thông tin hiệu quả (A fine-grained instance used for efficient sharing)
  • Private Class Data
    Hạn chế truy cập accessor/mutator (Restricts accessor/mutator access)
  • Proxy
    Một đối tượng đại diện cho một đối tượng khác (An object representing another object)

3. Behavioral design patterns

Các mẫu thiết kế này là tất cả về đối tượng giao tiếp của lớp. Các mẫu hành vi là những mô hình được quan tâm đặc biệt nhất với thông tin liên lạc giữa các đối tượng.

  • Chain of responsibility
    Cách để đi qua một yêu cầu từ một chuỗi các đối tượng (A way of passing a request between a chain of objects)
  • Command
    Gói gọn (đóng gói) một yêu cầu lệnh như một đối tượng (Encapsulate a command request as an object)
  • Interpreter
    Cách để nhúng các yếu tố ngôn ngữ vào chương trình (A way to include language elements in a program)
  • Iterator
    Truy cập tuần tự các element của collection (Sequentially access the elements of a collection)
  • Mediator
    Định nghĩa các giao tiếp đơn giản giữa các class (Defines simplified communication between classes)
  • Memento
    Nắm bắt và khôi phục trạng thái bên trong của một đối tượng (Capture and restore an object’s internal state)
  • Null Object
    Được thiết kế để hoạt động như một giá trị mặc định của một đối tượng (Designed to act as a default value of an object)
  • Observer
    Cách thông báo về sự thay đổi cho một số các class (A way of notifying change to a number of classes)
  • State
    Thay đổi hành vi của một đối tượng khi thay đổi trạng thái của nó (Alter an object’s behavior when its state changes)
  • Strategy
    Gói gọn một thuật toán bên trong một lớp (Encapsulates an algorithm inside a class)
  • Template method
    Hoãn lại các bước chính xác của một thuật toán cho một lớp con (Defer the exact steps of an algorithm to a subclass)
  • Visitor
    Định nghĩa một hoạt động mới vào một lớp mà không cần thay đổi (Defines a new operation to a class without change)

Sưu tầm

Bình luận qua Facebook

One thought on “Design Pattern – Giới thiệu các mẫu.

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *