Đây là dự án đã được thực hiện và triển khai, được đưa vào hoạt động thực tiễn của công ty sản xuất phần mềm Khai Trí( 123- Triệu Việt Vương – Hà Nội) về phần mềm tra cứu pháp luật và luật việt. Ở đây tôi không nói đến tính năng cụ thể của nội dung pháp luật và luật việt, và theo tôi được hiểu thì đây là công ty chuyên về phần mềm Pháp điển và Luật việt đầu tiên ở Việt Nam. Đây là một sản phẩm phần mềm đã được thực hiện từ lâu, và đưa vào thị trường tiêu thụ hơn 5 năm, nhưng do đòi hỏi của con người cũng như tốc độ phát triển của công nghệ phần mềm, sản phẩm của công ty cần được nâng cấp để nâng cao tính năng với người sử dụng. Và đây cũng là một dự án lớn được chia thành nhiều giai đoạn, nhiều công việc và từng thành phần nhỏ một. Tôi chỉ có điều kiện theo dõi và tham gia vào một phần nhỏ của dự án, và được tạo điều kiện cả về vật chất, kinh nghiệm và thời gian để tìm hiểu, nghiên cứu về các mẫu thiết kế.
Chương 1 LỜI NÓI ĐẦU 1
1.1. Khó khăn khi phát triển công nghệ phần mềm và sử dụng Mẫu thiết kế. 2
1.2. Mục đích của đồ án. 3
1.3. Việc nghiên cứu đồ án giải quyết điều gì 4
1.4. Việc giải quyết đồ án ở giai đoạn tốt nghiệp được thực hiện như thế nào? 4
Chương 2 ĐẶT VẤN ĐỀ 6
2.1. Mục đích của đề tài 6
2.2. Giới thiệu bài toán, nhiệm vụ của đề tài 6
2.3. Lý do chọn đề tài. 7
Chương 3 TỔNG QUAN VỀ MẪU THIẾT KẾ 8
3.1. Lịch sử về mẫu dáng thiết kế. 8
3.1.1. Mục đích của các mẫu thiết kế. 9
3.1.2. Các mẫu thiết kế giải quyết vấn đề như thế nào? 9
3.1.3. Các phương pháp để chọn các mẫu thiết kế 9
3.1.4. Làm thế nào để thiết kế một mẫu thiết kế 10
3.2. Các mẫu dáng thiết kế (Mẫu thiết kế) 10
3.2.1. Khái quát chung về Mẫu thiết kế. 10
3.2.2. Mẫu khởi tạo 11
3.2.2.1. Abstract Factory. 12
3.2.2.1.1 Mục đích 12
3.2.2.1.2 Ví dụ 12
3.2.2.1.3 Ứng dụng 13
3.2.2.1.4 Cấu trúc 13
3.2.2.1.5 Các thành phần 14
3.2.2.1.6 Phối hợp cộng tác với các mẫu khác: 14
3.2.2.1.7 Kết quả 14
3.2.2.1.8 Cài đặt 15
3.2.2.1.9 Các mẫu thiết kế liên quan 16
3.2.2.2. Builder 16
3.2.2.2.1 Ví dụ 16
3.2.2.2.2 Ứng dụng 16
3.2.2.2.3 Cấu trúc: 17
3.2.2.2.4 Thành phần 17
3.2.2.2.5 Phối hợp cộng tác. 18
3.2.2.2.6 Kết quả 18
3.2.2.2.7 Cài đặt 19
3.2.2.2.8 Các Mẫu quan hệ 19
3.2.2.3. Factory Method 19
3.2.2.3.1 Mục đích 19
3.2.2.3.2 Ví dụ 19
3.2.2.3.3 Thành phần 20
3.2.2.3.4 Cấu trúc: 20
3.2.2.3.5 Thành phần: 21
3.2.2.3.6 Kết quả 21
3.2.2.3.7 Cài đặt 22
3.2.2.3.8 Các mẫu liên quan: 23
3.2.2.4. Prototype 23
3.2.2.4.1 Mục đích 23
3.2.2.4.2 Ví dụ 23
3.2.2.4.3 Kết quả 25
3.2.2.4.4 Cấu trúc 25
3.2.2.4.5 Thành phần : 26
3.2.2.4.6 Phối hợp cộng tác 26
3.2.2.4.7 Kết qủa 26
3.2.2.4.8 Cài đặt 27
3.2.2.4.9 Các mẫu liên quan 27
3.2.3. Singleton 27
3.2.3.1. Mục đích 27
3.2.3.2. Ví dụ 27
3.2.3.3. Ứng dụng 27
3.2.3.4. Cấu trúc 28
3.2.3.5. Thành phần 28
3.2.3.6. Cộng tác: 28
3.2.3.7. Kết quả : 28
3.2.3.8. Cài đặt 29
3.2.3.9. Các mẫu liên quan 30
3.2.4. Các mẫu cấu trỳc(Structural Mẫu) 30
3.2.4.1. Adapter mẫu 31
3.2.4.1.1 Mục đích 31
3.2.4.1.2 Ví dụ: 31
3.2.4.1.3 Ứng dụng 32
3.2.4.1.4 Cấu trúc: 32
3.2.4.1.5 Thành phần: 33
3.2.4.1.6 Các cộng tác 33
3.2.4.1.7 Kết quả. 33
3.2.4.1.8 Cài đặt. 34
3.2.4.1.9 Các mẫu liên quan: 34
3.2.4.2. Bridge mẫu 34
3.2.4.2.1 Mục đích 34
3.2.4.2.2 Ví dụ 34
3.2.4.2.3 Ứng dụng 35
3.2.4.2.4 Cấu trúc: 36
3.2.4.2.5 Thành phần: 36
3.2.4.2.6 Kết quả 37
3.2.4.2.7 Cài đặt 37
3.2.4.2.8 Các mẫu liên quan 37
3.2.4.3. Composite 38
3.2.4.3.1 Mục đích 38
3.2.4.3.2 Ví dụ 38
3.2.4.3.3 Ứng dụng 39
3.2.4.3.4 Cấu trúc: 39
3.2.4.3.5 Thành phần 40
3.2.4.3.6 Kết quả. 40
3.2.4.3.7 Phối hợp cộng tác 41
3.2.4.3.8 Cài đặt 41
3.2.4.3.9 Các mẫu liên quan: 41
3.2.4.4. Decorator 42
3.2.4.4.1 Mục đích 42
3.2.4.4.2 Ứng dụng 42
3.2.4.4.3 Cấu trúc: 42
3.2.4.4.4 Thành phần: 43
3.2.4.4.5 Phối hợp cộng tác. 43
3.2.4.4.6 Kết quả. 43
3.2.4.4.7 Cài đặt 44
3.2.4.4.8 Các mẫu liên quan: 44
3.2.4.5. Facade 44
3.2.4.5.1 Mục đích 44
3.2.4.5.2 Ví dụ 44
3.2.4.5.3 Ứng dụng 45
3.2.4.5.4 Cấu trúc 45
3.2.4.5.5 Thành phần 46
3.2.4.5.6 Phối hợp cộng tác 46
3.2.4.5.7 Kết quả 46
3.2.4.5.8 Cài đặt 47
3.2.4.5.9 Các mẫu liên quan 48
3.2.4.6. Flyweight mẫu 48
3.2.4.6.1 Mục đích 48
3.2.4.6.2 Ứng dụng 48
3.2.4.6.3 Cấu trúc: 49
3.2.4.6.4 Thành phần: 50
3.2.4.6.5 Phối hợp cộng tác. 50
3.2.4.6.6 Kết quả. 51
3.2.4.6.7 Cài đặt 51
3.2.4.6.8 Các mẫu liên quan: 52
3.2.4.7. Proxy 52
3.2.4.7.1 Mục đích 52
3.2.4.7.2 ví dụ 52
3.2.4.7.3 Ứng dụng 53
3.2.4.7.4 Cấu trúc: 53
3.2.4.7.5 Thành phần: 54
3.2.4.7.6 Phối hợp cộng tác 54
3.2.4.7.7 Kết quả. 55
3.2.4.7.8 Cài đặt 55
3.2.4.7.9 Những mẫu liên quan: 55
3.2.5. Các mẫu hoạt động (BEHAVIOR Pattern) 58
3.2.5.1. CHAIN OF RESPONSIBILITY. 58
3.2.5.1.1 Mục đích 58
3.2.5.1.2 Ứng dụng: 58
3.2.5.1.3 Cấu trúc: 59
3.2.5.1.4 Thành phần: 59
3.2.5.1.5 Kết quả 60
3.2.5.1.6 Cài đặt 60
3.2.5.1.7 Mẫu liên quan: 60
3.2.5.2. COMMAND. 60
3.2.5.2.1 Mục đích 60
3.2.5.2.2 Ứng dụng 61
3.2.5.2.3 Thành phần: 61
3.2.5.2.4 Cộng tác: 62
3.2.5.2.5 Kết quả: 62
3.2.5.2.6 Cài đặt 62
3.2.5.2.7 Các mẫu liên quan: 62
3.2.5.3. INTERPRETER 63
3.2.5.3.1 Mục đích 63
3.2.5.3.2 Ứng dụng 63
3.2.5.3.3 Cấu trúc: 63
3.2.5.3.4 Thành phần: 64
3.2.5.3.5 Cộng tác: 64
3.2.5.3.6 Kết quả 65
3.2.5.3.7 Cài đặt 65
3.2.5.3.8 Các mẫu liên quan: 65
3.2.5.4. ITERATOR 65
3.2.5.4.1 Mục đích 65
3.2.5.4.2 Ứng dụng 66
3.2.5.4.3 Cấu trúc: 66
3.2.5.4.4 Thành phần: 66
3.2.5.4.5 Cộng tác: 67
3.2.5.4.6 Kết quả 67
3.2.5.4.7 Cài đặt 67
3.2.5.4.8 Các mẫu liên quan: 68
3.2.5.5. MEDIATOR. 68
3.2.5.5.1 Mục đích 68
3.2.5.5.2 Ứng dụng 68
3.2.5.5.3 Cấu trúc: 68
3.2.5.6. MEMENTO. 69
3.2.5.6.1 Mục đích 69
3.2.5.6.2 Ứng dụng 69
3.2.5.6.3 Cấu trúc: 69
3.2.5.6.4 Thành phần: 70
3.2.5.6.5 Cộng tác: 70
3.2.5.6.6 Kết quả 71
3.2.5.6.7 Cài đặt 71
3.2.5.6.8 Các mẫu liên quan: 71
3.2.5.7. OBSERVER. 71
3.2.5.7.1 Mục đích 71
3.2.5.7.2 Ứng dụng 71
3.2.5.7.3 Kết quả 71
3.2.5.7.4 Cài đặt 72
3.2.5.8. STATE. 72
3.2.5.8.1 Mục đích 72
3.2.5.8.2 Ứng dụng 72
3.2.5.8.3 Cấu trúc: 73
3.2.5.8.4 Thành phần: 73
3.2.5.8.5 Kết qủa 73
3.2.5.8.6 Cài đặt 74
3.2.5.9. STRATEGY. 74
3.2.5.9.1 Mục đích 74
3.2.5.9.2 Ứng dụng 74
3.2.5.9.3 Kết quả. 74
3.2.5.9.4 Cài đặt 75
3.2.5.10. TEMPLATE. 75
3.2.5.10.1 Mục đích 75
3.2.5.10.2 Ví dụ 75
3.2.5.10.3 Ứng dụng 75
3.2.5.10.4 Cấu trúc: 76
3.2.5.10.5 Thành phần: 76
3.2.5.10.6 Phối hợp cộng tác 76
3.2.5.10.7 Kết quả 77
3.2.5.10.8 Cài đặt 77
3.2.5.11. VISITOR. 77
3.2.5.11.1 Mục đích 77
3.2.5.11.2 Ứng dụng 77
3.2.5.11.3 Kết quả 78
3.2.5.11.4 Cài đặt 78
3.3. Giới thiệu nội dung dự án 79