Nó không phải là một mô hình chống. Chống mẫu có một số tài sản làm cho nó có vẻ như là một ý tưởng tốt, dẫn đến mọi người thực hiện nó có chủ đích; họ đã lên kế hoạch theo mô hình và sau đó nó đi sai lầm khủng khiếp.
Đó cũng là điều tạo nên những cuộc tranh luận về việc liệu một thứ gì đó là một mẫu, một mẫu chống hoặc một mẫu thường được áp dụng sai mà vẫn được sử dụng ở một số nơi.
Điều này chỉ sai.
Để thêm một chút nữa.
Mã này là mê tín, hoặc tốt nhất là một thực hành sùng bái hàng hóa.
Một sự mê tín là một cái gì đó được thực hiện mà không có sự biện minh rõ ràng. Nó có thể liên quan đến một cái gì đó thực sự, nhưng kết nối không logic.
Một thực hành sùng bái hàng hóa là một trong đó bạn cố gắng sao chép một thứ gì đó mà bạn đã học được từ một nguồn hiểu biết hơn, nhưng bạn thực sự sao chép các vật phẩm bề mặt chứ không phải là quá trình (được đặt tên cho một giáo phái ở Papua New Guinea, người sẽ thực hiện máy bay điều khiển máy bay ra khỏi tre với hy vọng làm cho máy bay WWII của Nhật Bản và Mỹ quay trở lại).
Trong cả hai trường hợp này, không có trường hợp thực tế nào được thực hiện.
Một mô hình chống là một nỗ lực nhằm cải thiện hợp lý, dù là nhỏ (phân nhánh thêm đó để giải quyết trường hợp bổ sung đó phải xử lý, dẫn đến mã spaghetti) hoặc trong trường hợp lớn mà bạn rất cố tình thực hiện một mẫu rằng hoặc là mất uy tín hoặc tranh luận (nhiều người sẽ mô tả các singletons như vậy, với một số loại trừ một đối tượng chỉ ghi - ví dụ: ghi nhật ký hoặc chỉ đọc các đối tượng cài đặt cấu hình - và một số sẽ kết án ngay cả những đối tượng đó) hoặc người khác đang giải quyết vấn đề sai (khi .NET lần đầu tiên được đưa ra, MS đã đề xuất một mô hình xử lý xử lý khi bạn có cả trường không được quản lý và trường được quản lý dùng một lần - nó thực sự xử lý tình huống đó rất tốt, nhưng vấn đề thực sự là bạn đã mắc phải cả hai loại trường trong cùng một lớp).
Như vậy, một mô hình chống đối là một thứ mà một người thông minh biết ngôn ngữ, miền có vấn đề và các thư viện có sẵn sẽ cố tình làm, điều đó vẫn có (hoặc được cho là có) nhược điểm lấn át nhược điểm.
Vì không ai trong chúng ta bắt đầu biết một ngôn ngữ nhất định, miền có vấn đề và các thư viện có sẵn, và vì mọi người đều có thể bỏ lỡ điều gì đó khi họ đi từ giải pháp hợp lý này sang giải pháp khác (ví dụ: bắt đầu lưu trữ một thứ gì đó trong một lĩnh vực để sử dụng tốt, sau đó thử tái cấu trúc nó đi nhưng không hoàn thành công việc, và bạn sẽ kết thúc với mã như trong câu hỏi), và vì đôi khi chúng ta bỏ lỡ mọi thứ trong học tập, chúng ta đã tạo ra một số mã mê tín dị đoan hoặc hàng hóa tại một số điểm . Điều tốt, là chúng thực sự rõ ràng hơn để xác định và sửa chữa hơn so với các mô hình chống. Các mô hình chống thực sự được cho là không chống lại các mô hình, hoặc có một số chất lượng hấp dẫn, hoặc ít nhất có một số cách dụ dỗ một trong số chúng ngay cả khi được xác định là xấu (quá nhiều và quá ít lớp đều không gây tranh cãi, nhưng tránh được một dẫn đến cái khác).