Это не анти-паттерн. Анти-паттерны обладают некоторым свойством, которое делает их хорошей идеей, которая заставляет людей делать это нарочно; они запланированы как образцы, и тогда это идет ужасно неправильно.
Это также то, что вызывает споры относительно того, является ли что-то шаблоном, анти-шаблоном или часто неправильно применяемым шаблоном, который все еще имеет применение в некоторых местах.
Это просто неправильно.
Чтобы добавить немного больше.
Этот кодекс является суеверным или, в лучшем случае, практикой культа грузов.
Суеверие - это то, что делается без чёткого оправдания. Это может быть связано с чем-то реальным, но связь не логична.
Практика культа грузов - это та, в которой вы пытаетесь скопировать то, что вы узнали из более осведомленного источника, но вы на самом деле копируете поверхностные артефакты, а не процесс (так называемый культ в Папуа-Новой Гвинее, который радиоуправляемые самолеты из бамбука в надежде вернуть самолеты Второй мировой войны в Японию и США).
В обоих этих случаях нет никакого реального случая.
Анти-паттерн - это попытка разумного улучшения, будь то в малом (это дополнительное ветвление для решения того дополнительного случая, который должен быть обработан, который приводит к коду спагетти) или в большом, где вы очень сознательно реализуете паттерн это либо дискредитируется, либо обсуждается (многие описывают синглтоны как таковые, некоторые исключают только запись - например, регистрируют объекты или только чтение - например, объекты настроек конфигурации - а некоторые осуждают даже те), или где вы решаете неправильная проблема (когда впервые был выявлен .NET, MS рекомендовала шаблон для утилизации, когда у вас были как неуправляемые поля, так и одноразовые управляемые поля - это действительно очень хорошо справляется с этой ситуацией, но реальная проблема заключается в том, что у вас есть оба типа поля в одном классе).
Таким образом, анти-паттерн - это то, что умный человек, который хорошо знает язык, проблемную область и доступные библиотеки, намеренно сделает это, у которого все еще есть (или, как утверждается, есть) недостаток, который подавляет потенциал.
Поскольку никто из нас не начинает хорошо знать данный язык, проблемную область и доступные библиотеки, и поскольку каждый может что-то упустить при переходе от одного разумного решения к другому (например, начать что-то хранить в поле для хорошего использования, а затем попытаться проведите рефакторинг, но не завершите работу, и вы получите код, как в вопросе), и поскольку мы все время от времени пропускаем что-то в процессе обучения, мы все в какой-то момент создали какой-то суеверный или культовый код , Хорошо, что на самом деле их легче идентифицировать и исправить, чем анти-паттерны. Истинные антишаблоны либо спорно не антишаблоны, или иметь некоторые привлекательные качества, или, по крайней мере, иметь какой-то способ заманивания один в них даже тогда, когда определены как плохие (слишком много и слишком мало слоев как неоспоримому плохо, но избежать одного приводит к другому).