Design Pattern | Gang of Four’s Pattern Catalogue
Có rất nhiều design pattern bạn có thể tìm thấy trong sách và qua internet. Một trong những cuốn sách nổi tiếng nhât về chủ đề này là Design Patterns: Elements of Reusable Object-Oriented Software, được viết bởi bốn tác giả với biệt danh, The Gang of Four. Cuốn sách rút ra từ kinh nghiệm của họ với tư cách là nhà phát triển.
Trong bài viết này, chúng ta sẽ đi qua danh mục design pattern của Gang of Four, nó không phải là một cuốn sách công thức. Bạn không thể lấy các mẫu phổ quát ra khỏi nó để sử dụng vào code của mình như những mảnh ghép, thay vào đó, nó giống như các dụ pháp (tropes wiki), là một công cụ để kể chuyện thường được tìm thấy trong các tiểu thuyết, hay các bộ phim. Ví dụ ta có thể thấy một "trope" chung thường được thấy trong các câu chuyện là người anh hùng bắt đầu từ những khởi đầu khiêm tốn trong thế giới bình thường, tìm thấy một thế giới đặc biệt và phải vượt qua những thử thách để trở về nhà.
Giống như những "trope" tái diễn trong các câu chuyện khác nhau, các design pattern xuất hiện trong phần mềm. Sự xuất hiện của cùng một mô hình có thể tìm thấy trong hàng ngàn chương trình.
Danh mục của Gang of four, chứa một số mẫu và giải pháp với nhiều mục đích khác nhau, một tập hợp các mẫu có liên quan đến một không gian vấn đề nhất định được gọi là Language Pattern. Tùy thuộc vào bối cảnh của vấn đề, bạn sẽ cần các ngôn ngữ mẫu (language pattern) khác nhau.
Khi thiết kế trò chơi, bạn sẽ sử dụng Language Pattern khác với khi bạn làm một phần mềm kế toán. Đối với game, bạn hay gặp các từ như encounters, quests, và player. Những từ này rất quan trọng trong thiết kế trò chơi, nhưng lại không bao giờ gặp trong khi làm phần mềm kế toán. Hãy nghĩ về nó như ngôn ngữ của con người chúng ta, nếu bạn đang cố gắng nói chuyện với một người chỉ nói được tiếng phổ thông, bạn sẽ chọn kiểu ngôn ngữ phù hợp để nói chuyện với họ. Giống như bạn sẽ chọn ngôn ngữ dựa trên đối tượng của mình, bạn cũng sẽ chọn Language Pattern và Design Pattern dựa trên vấn đề.
Ngôn ngữ triển khai là cách mà người ta thiết kế Language Pattern được tạo ra, điều này có ảnh hưởng rất lớn đến những pattern có thể sử dụng.
Bài này còn rất sơ sài, do kiến thức của mình, mong bạn thông cảm.
Trong bài viết này, chúng ta sẽ đi qua danh mục design pattern của Gang of Four, nó không phải là một cuốn sách công thức. Bạn không thể lấy các mẫu phổ quát ra khỏi nó để sử dụng vào code của mình như những mảnh ghép, thay vào đó, nó giống như các dụ pháp (tropes wiki), là một công cụ để kể chuyện thường được tìm thấy trong các tiểu thuyết, hay các bộ phim. Ví dụ ta có thể thấy một "trope" chung thường được thấy trong các câu chuyện là người anh hùng bắt đầu từ những khởi đầu khiêm tốn trong thế giới bình thường, tìm thấy một thế giới đặc biệt và phải vượt qua những thử thách để trở về nhà.
Giống như những "trope" tái diễn trong các câu chuyện khác nhau, các design pattern xuất hiện trong phần mềm. Sự xuất hiện của cùng một mô hình có thể tìm thấy trong hàng ngàn chương trình.
Danh mục của Gang of four, chứa một số mẫu và giải pháp với nhiều mục đích khác nhau, một tập hợp các mẫu có liên quan đến một không gian vấn đề nhất định được gọi là Language Pattern. Tùy thuộc vào bối cảnh của vấn đề, bạn sẽ cần các ngôn ngữ mẫu (language pattern) khác nhau.
Khi thiết kế trò chơi, bạn sẽ sử dụng Language Pattern khác với khi bạn làm một phần mềm kế toán. Đối với game, bạn hay gặp các từ như encounters, quests, và player. Những từ này rất quan trọng trong thiết kế trò chơi, nhưng lại không bao giờ gặp trong khi làm phần mềm kế toán. Hãy nghĩ về nó như ngôn ngữ của con người chúng ta, nếu bạn đang cố gắng nói chuyện với một người chỉ nói được tiếng phổ thông, bạn sẽ chọn kiểu ngôn ngữ phù hợp để nói chuyện với họ. Giống như bạn sẽ chọn ngôn ngữ dựa trên đối tượng của mình, bạn cũng sẽ chọn Language Pattern và Design Pattern dựa trên vấn đề.
Ngôn ngữ triển khai là cách mà người ta thiết kế Language Pattern được tạo ra, điều này có ảnh hưởng rất lớn đến những pattern có thể sử dụng.
Bài này còn rất sơ sài, do kiến thức của mình, mong bạn thông cảm.
Nhận xét
Đăng nhận xét