Skip to main content

Design patterns Elements of Reusable Object Oriented Software

Design patterns Elements of Reusable Object Oriented Software
Design patterns Elements of Reusable Object Oriented Software

1 Introduction ...................................................... 11 
1.1 What Is a Design Pattern? ...................................... 12 
1.2 Design Patterns in Smalltalk MVC ............................... 14 
1.3 Describing Design Patterns ..................................... 16 
1.4 The Catalog of Design Patterns ................................. 18 
1.5 Organizing the Catalog ......................................... 21 
1.6 How Design Patterns Solve Design Problems ...................... 23 
1.7 How to Select a Design Pattern ................................. 42 
1.8 How to Use a Design Pattern .................................... 44 

2 A Case Study: Designing a Document Editor ......................... 46 
2.1 Design Problems ................................................ 46 
2.2 Document Structure ............................................. 47 
2.3 Formatting ..................................................... 53 
2.4 Embellishing the User Interface ................................ 56 
2.5 Supporting Multiple Look-and-Feel Standards .................... 60 
2.6 Supporting Multiple Window Systems ............................. 64 
2.7 User Operations ................................................ 72 
2.8 Spelling Checking and Hyphenation .............................. 77 
2.9 Summary ........................................................ 90 


Design Pattern Catalog .............................................. 93 

3 Creational Patterns ............................................... 94 
Abstract Factory ................................................... 99 
Builder ........................................................... 110 
Factory Method .................................................... 121 
Prototype ......................................................... 133 
Singleton ......................................................... 144 

Discussion of Creational Patterns .................................. 153 
 esign Patterns: Elements of Reusable Object-Oriented Software 
4 Structural Patterns .............................................. 155 
Adapter ........................................................... 157 
Bridge ............................................................ 171 
Composite ......................................................... 183 
Decorator ......................................................... 196 
Façade ............................................................ 208 
Flyweight ......................................................... 218 
Proxy ............................................................. 233 

Discussion of Structural Patterns ................................. 246 

5 Behavioral Patterns .............................................. 249 
Chain of Responsibility ........................................... 251 
Command ........................................................... 263 
Interpreter ....................................................... 274 
Iterator .......................................................... 289 
Mediator .......................................................... 305 
Memento ........................................................... 316 
Observer .......................................................... 326 
State ............................................................. 338 
Strategy .......................................................... 349 
Template Method ................................................... 360 
Visitor ........................................................... 366 

Discussion of Behavioral Patterns ................................. 382 

6 Conclusion ....................................................... 388 
6.1 What to Expect from Design Patterns ........................... 388 
6.2 A Brief History ............................................... 392 
6.3 The Pattern Community ......................................... 393 
6.4 An Invitation ................................................. 395 
6.5 A Parting Thought ............................................. 396 

A Glossary ......................................................... 397 

B Guide to Notation ................................................ 404 
B.1 Class Diagram ................................................. 404 
B.2 Object Diagram ................................................ 406 
B.3 Interaction Diagram ........................................... 407 

C Foundation Classes ............................................... 409 
C.1 List .......................................................... 409 
C.2 Iterator ...................................................... 412 
C.3 ListIterator .................................................. 413 esign Patterns: Elements of Reusable Object-Oriented Software 
C.4 Point ......................................................... 413 
C.5 Rect .......................................................... 414 

Bibliography ....................................................... 416

Comments

Popular posts from this blog

Mẹo và giải thuật C# dành cho người mới bắt đầu

Với nội dung kiến thức cơ bản nhất. Gồm 31 trang với những nội dung:  1. Kết nối CSDL SQL  -----------How to Create SQL Connection in C# 2. Đọc ghi file text với C#  -----------How to Write Text to a Txt File in C# -----------How to Read Text from a TXT File 3. Xóa Cookie C# -----------How to Delete Cookie Using C# 4. Gửi main sử dụng tài khoàn Gmail với C# -----------How to Send Email Using Your Gmail Account in C# 5. Kiểm tra ký tự nhập vào từ bàn  phím -----------How to Check If a Key Is Pressed In C# 6. Đổi tên file trong C# -----------How to Rename a File Using C# 7. Vô hiệu hóa chuột trong ô textbox C# -----------How to Disable Right Click in C# Textbox 8. Chọn tất cả trong listbox -----------How to Add Select All Button or Checkbox in CheckedListBox 9. Tạo mới thư mục bằng C# -----------How to Create a New Folder Using C# 10. Lấy các tiến trình đang chạy C# ----------- How to Get List of All the Running  Processes in C# 11. Tả...

Tài liệu hướng dẫn lập trình game với cocos2d-x

Thực hiện bởi: Admin Page Học Lập Trình https://www.facebook.com/hoclaptrinh.it Nội dung Phần 1: Cơ bản về cocos2d-x và khái niệm trong game Bài 1. Giới thiệu về Cocos2d-x Bài 2. Cài đặt Cocos2d-x Bài 3. Tạo ứng dụng đầu tiên Hello world Bài 4. Khái niệm Sprite và SpriteSheet Bài 5. Basic Action Bài 6. EFFECT & MUSIC Bài 7. Lập trình sự kiện Touch Bài 8. Cách tạo menu đơn giản (Cocos2d-x căn bản) Bài 9 . Hướng dẫn làm 1 game đơn giản bằng Cocos2d-x Phần 2: Vật lý trong game Bài 1 - Physics là gì, tại sao phải thêm Physics? ------------------------------Bắt đầu nội dung ------------------------------ “Write Once, Run Anywhere” (WORA)” Phần 1. Cơ bản về cocos2d-x và khái niệm trong game Bài 1. Giới thiệu về Cocos2d-x 1. Sơ lược về cocos2d-x 2. Vì sao chúng ta nên chọn cocos2d-x 3. Các kiến thức cần có 1. Sơ lược về cocos2d-x Là 1 Engine hỗ trợ lập trình Game đa nền tảng Xuất xứ từ trung quốc Hỗ trợ ngôn ngữ C+...

Bài tập thuật toán C/C++ Và Tuyển tập đề thi olympic

Gồm: +  Các thuật toán của Lê Minh Hoàng + Tuyển tập các đề thi olympic tin học sinh viên Link down: Tại đây