Không có mẫu thiết kế là cần thiết. Bằng bất kỳ ngôn ngữ nào.
Tôi có xu hướng bắt gặp rất nhiều mã được viết bởi những người đọc các mẫu thiết kế và sau đó nghĩ rằng họ nên sử dụng chúng ở mọi nơi. Kết quả là mã thực tế bị chôn vùi dưới hàng tấn giao diện, trình bao bọc và các lớp và khá khó đọc. Đó là một cách tiếp cận sai cho các mẫu thiết kế.
Các mẫu thiết kế tồn tại để bạn có một tiết mục thành ngữ hữu ích khi bạn gặp phải một vấn đề. Nhưng bạn không bao giờ nên áp dụng bất kỳ mô hình nào trước khi bạn xác định vấn đề. Giữ cho nó đơn giản Ngốc luôn phải là nguyên tắc quản trị cao cấp.
Nó cũng giúp nghĩ về các mẫu thiết kế như là một khái niệm để suy nghĩ về vấn đề thay vì mã soạn sẵn cụ thể để viết. Và phần lớn các bản tóm tắt như cách giải quyết cho Java thiếu các hàm miễn phí và các đối tượng hàm tiêu chuẩn mà bạn sử dụng trong hầu hết các ngôn ngữ khác có chúng (như Python, C #, C ++, v.v.).
Tôi có thể nói rằng tôi có một mẫu khách truy cập, nhưng trong bất kỳ ngôn ngữ nào có các hàm hạng nhất, nó sẽ chỉ là một hàm lấy một hàm. Thay vì lớp nhà máy tôi thường chỉ có một chức năng nhà máy. Tôi có thể nói rằng tôi có một giao diện, nhưng sau đó chỉ là một vài phương thức được đánh dấu bằng các bình luận, bởi vì sẽ không có bất kỳ triển khai nào khác (tất nhiên trong python một giao diện luôn chỉ là các bình luận, bởi vì nó được gõ vào). Tôi vẫn nói về mã như sử dụng mẫu, bởi vì đó là một cách hữu ích để suy nghĩ về nó, nhưng không thực sự gõ tất cả các thứ cho đến khi tôi thực sự cần nó.
Vì vậy, tìm hiểu tất cả các mô hình như các khái niệm . Và quên đi việc thực hiện cụ thể. Việc triển khai khác nhau và nên thay đổi trong thế giới thực, thậm chí chỉ trong Java.