Tôi tin rằng nhóm bốn người tự phân loại các mẫu thiết kế là
một giải pháp chung cho một vấn đề thường xảy ra *
Vì vậy, có, các mô hình có liên quan khi cùng một loại vấn đề xảy ra. Và điều này đưa chúng ta đến một vấn đề với thuật ngữ "Mẫu thiết kế". Một mô hình là một cái gì đó dễ nhận biết xảy ra lặp đi lặp lại. Vì vậy, trong thực tế không có một mẫu thiết kế, có một mẫu của các vấn đề.
Một số ngôn ngữ lập trình có thể có giải pháp riêng cho một số vấn đề đó. Bản thân cuốn sách "Mẫu thiết kế" đã đề cập rằng mẫu khách truy cập ít có giá trị nếu bạn đang sử dụng CLOS, vì đa công văn được CLOS hỗ trợ, đây là vấn đề mà mẫu Khách truy cập đang cố gắng giải quyết.
Ngoài ra, .NET framework có một cơ chế xây dựng sự kiện để xuất bản các sự kiện cho nhiều người nghe, làm cho mẫu Observer ít liên quan hơn trong ngữ cảnh này.
Sự thay đổi từ ứng dụng máy tính để bàn sang ứng dụng web ** cũng thay đổi loại vấn đề lập trình mà chúng ta phải giải quyết. Nhiều mẫu trong cuốn sách "Mẫu thiết kế" có liên quan đến các ứng dụng máy tính để bàn, nhưng không nhiều cho các ứng dụng web. Tất nhiên, với các ứng dụng trang đơn, các mẫu này có thể có liên quan một lần nữa ở phía máy khách.
Nhưng các mẫu thiết kế và sách như "Mẫu thiết kế" hoặc "Mẫu kiến trúc ứng dụng doanh nghiệp" có giá trị rất lớn khi bạn là một lập trình viên mới làm quen và lần đầu tiên phải đối mặt với một loại vấn đề mới; vì tôi là lần đầu tiên tôi được yêu cầu thực hiện chức năng Hoàn tác. Nếu không có trong cuốn sách "Các mẫu thiết kế", thì việc triển khai của tôi có thể giống như lưu trữ một ảnh chụp nhanh dữ liệu sau mỗi hoạt động thay đổi trạng thái *** - một cách tiếp cận rất dễ bị lỗi và kém hiệu quả.
Vì vậy, có, một số mô hình trở nên ít liên quan hơn theo thời gian và khi bạn trở thành một lập trình viên có kinh nghiệm, bạn nghĩ ít hơn về chúng. Nhưng đối với một người mới, chúng có giá trị, miễn là bạn nhớ rằng chúng là phương tiện để giải quyết vấn đề - và không phải là một nhiệm vụ để sử dụng càng nhiều càng tốt.
* trích dẫn có thể không chính xác 100% vì nó được lấy từ bộ nhớ
** theo kinh nghiệm của tôi, việc các doanh nghiệp lựa chọn cơ chế phân phối web cho các ứng dụng kinh doanh nội bộ trở nên rất phổ biến.
*** sau khi học lập trình chức năng và cấu trúc dữ liệu chức năng, thì đó thực sự có thể là cách tôi sẽ giải quyết nó ngày hôm nay.