Định dạng GoF của mẫu thiết kế

Một phần của tài liệu Phát triển mẫu thiết kế phần mềm và ứng dụng (Trang 72)

 Tên mẫu và sự phân loại: tên của mẫu thiết kế truyền đạt bản chất cô đọng của nó. Một cái tên phù hợp là rất quan trọng bởi nó sẽ trở thành phần của từ vựng thiết kế. Mỗi mẫu thiết kế nên có một tên phù hợp mô tả nó và là duy nhất để có thể định danh và tham chiếu đến nó. Thêm vào đó, mỗi mẫu thiết kế nên đƣợc phân loại theo cách thức nào đó. Việc phân loại giúp định rõ việc sử dụng mẫu trong những tình huống tƣơng đồng nào đó.

 Mục đích: một trình bày ngắn gọn mà xoay quanh các câu hỏi sau: mẫu thiết kế đó làm gì, lý do cơ bản và mục đích của nó là gì, vấn đề thiết kế cụ thể mà nó biểu diễn là những vấn đề gì. Nói cách khác, mục đích mô tả các mục tiêu sử dụng mẫu thiết kế và các lập luận cho việc áp dụng nó. Nó tƣơng tự nhƣ phần vấn đề trong các thành phần cơ bản của mẫu thiết kế.

66

 Tên khác: một cái tên khác của mẫu. Một mẫu thiết kế có thể có nhiều tên gọi. Mục này liệt kê tất cả các tên gọi của mẫu thiết kế.

 Động cơ: mô tả một viễn cảnh minh họa một vấn đề thiết kế và cách thức các cấu trúc lớp và đối tƣợng trong mẫu giải quyết vấn đề đó. Hay nói cách khác, nó cung cấp một kịch bản bao gồm vấn đề và ngữ cảnh có thể áp dụng mẫu thiết kế đó. Với mối quan hệ vấn đề, ngữ cảnh, mục này chỉ cho chúng ta biết khi nào có thể áp dụng mẫu thiết kế. Viễn cảnh đó cũng giúp ta hiểu rõ hơn những mô tả trừu tƣợng của mẫu thiết kế.

 Khả năng áp dụng: mô tả những tình huống, những trƣờng hợp nào có thể áp dụng mẫu thiết kế đó và những trƣờng hợp nào thì không nên áp dụng. Nó biểu diễn ngữ cảnh của mẫu thiết kế. Các ví dụ của các thiết kế nghèo nàn là gì mà ở đó mẫu có thể nói đến. Làm thế nào chúng ta có thể nhận ra đƣợc các tình huống đó.

 Cấu trúc: sự biểu diễn đồ họa của các lớp trong mẫu thiết kế sử dụng các ký hiệu dựa trên kỹ thuật mô hình hóa đối tƣợng - Object Modeling Technique (OMT). Chúng ta sử dụng mô hình thiết kế lớp để mô tả cấu trúc các lớp đối tƣợng của hệ thống, biểu đồ tƣơng tác để minh họa cho chuỗi các yêu cầu và sự cộng tác giữa các đối tƣợng.

 Thành phần tham gia: danh sách các lớp hay các đối tƣợng tham gia trong mẫu thiết kế và nhiệm vụ, vai trò của từng đối tƣợng trong đó.

 Sự cộng tác: mô tả cách thức mà các thành phần tham gia trong mẫu thiết kế phối hợp, cộng tác với nhau nhƣ thế nào để truyền tải nhiệm vụ và thực hiện các chức năng của chúng.

 Kết quả: mẫu thiết kế hỗ trợ cho các mục tiêu mà nó đề ra nhƣ thế nào? Sự thỏa hiệp và và việc áp dụng mẫu thiết kế đó trong dự án cụ thể đem lại những kết quả và hậu quả gì. Những khía cạnh nào của cấu trúc hệ thống cho thay đổi một cách độc lập.

 Sự thực thi: mô tả sự thực hiện mẫu thiết kế và biểu diễn phần giải pháp trong cấu trúc 4 thành phần cơ bản của mẫu. Nó cung cấp các kỹ thuật đƣợc sử dụng trong việc thực hiện mẫu và đề nghị các cách thức cho các sự thực hiện này. Có các khó khăn nào, lời gợi ý hay kỹ thuật nào bạn quan tâm khi thực thi mẫu. Có vấn đề xác định ngôn ngữ hay không.

 Mã nguồn: đoạn mã ví dụ giải thích cho bạn biết có thể thực thi mẫu nhƣ thế nào trong các ngôn ngữ lập trình nhƣ C++ hay Smalltalk...

67

 Sử dụng thực tế: các ví dụ về các hệ thống có sử dụng mẫu thiết kế. Chúng ta sẽ đƣa ra ít nhất 2 ví dụ trong các lĩnh vực khác nhau mà sử dụng mẫu thiết kế đó.

 Các mẫu liên quan: các mấu thiết kế nào khác có liên quan gần gũi với mẫu này. Sự khác nhau chính giữa chúng là gì. Nó có thể đƣợc sử dụng chung với những mẫu thiết kế nào.

Một phần của tài liệu Phát triển mẫu thiết kế phần mềm và ứng dụng (Trang 72)