Monday, September 24, 2007

Các mẫu thiết kế hướng đối tượng (P.1)

1.Vai trò của thiết kế

Thiết kế là 1 công đoạn quan trọng trong qui trình phát triển phần mềm.
Thiết kế là bước chuyển tiếp của giai đoạn phân tích và là bước chuẩn bị trước khi chúng ta tiến hành xây dựng phần mềm.
Thiết kế là tiến trình mà ở đó xuất hiện mô hình các kiểu mẫu của phần mềm. Các mô hình này chính là những nét phác thảo nên phần mềm. Nó cho chúng ta biết phần mềm chúng ta đang xây dựng là gì, đã có, đang có và sẽ có những gì.
Thiết kế là nơi mà ta có thể trả lời câu hỏi “Liệu phần mềm này có thể chạy được không?” , “Phần mềm có thể đáp ứng được các yêu cầu của khách hàng hay không?” mà không cần đợi đến công đoạn phát triển.

2.Các nguyên lý thiết kế hướng đối tượng

- Nguyên lý 'đóng mở': một moudle cần “mở” đối với việc phát triển thêm tính năng nhưng phải “đóng” đối với việc sửa đổi mã nguồn
- Nguyên lý thay thế Liskov: Các chức năng của hệ thống vẫn thực hiện đúng đắn nếu ta htay bất kì một lớp đối tượng nào bằng đối tượng kế thừa.
- Nguyên lý nghịch đảo phụ thuộc: phụ thuộc vào mức trừu tượng, không phụ thuộc vào mức chi tiết.
- Nguyên lý phân tách giao diện: nên có nhiều giao diện đặc thù với bên ngoài hơn là chỉ có một giao diện dùng chung cho một mục đích.


3.Các mẫu thiết kế (Design Pattern)

Khái niệm:
Mẫu thiết kế (Design Pattern) là vấn đề thông dụng cần giải quyết và là cách giải quyết vấn đề đó trong một ngữ cảnh cụ thể, Mẫu thiết kế tuân thủ nghiêm ngặt các nguyên lý thiết kế hướng đối tượng ở trên.
Mẫu thiết kế không đơn thuần là một bước nào đó trong các giai đoạn phát triển phần mềm mà nó đóng vai trò là sáng kiến để giải quyết một vấn đề thông dụng nào đó. Mẫu thiết kế sẽ giúp cho việc giải quyết vấn đề nhanh, gọn và hợp lý hơn.
Mẫu thiết kế còn được sử dụng nhằm cô lập các thay đổi trong mã nguồn, từ đó làm cho hệ thống có khả năng tái sử dụng cao.
Chúng ta sẽ tìm hiểu một số mẫu thiết kế kinh điển (GOF- Gang of Four:confused:)


Creational Patterns

  • Abstract Factory
  • Builder
  • Factory Method
  • Prototype
  • Singleton


Behavioral Patterns
  • Chain of Responsibility
  • Command
  • Interpreter
  • Iterator
  • Mediator
  • Memento
  • State
  • Strategy
  • Visitor
  • Template Method


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


System Patterns
  • Model-View-Controller (MVC)
  • Session
  • Worker Thread
  • Callback
  • Successive Update
  • Transaction
Cấu trúc trình bày:
- Ý nghĩa của mẫu
- Mô hình cấu trúc mẫu và mô tả
- Trường hợp áp dụng
- Ví dụ

No comments:

Post a Comment