안티 패턴이 아닙니다. 반 패턴에는 좋은 생각처럼 보이게하는 속성이있어 사람들이 의도적으로이를 수행하게합니다. 그것들은 패턴으로 계획된 다음 아주 잘못됩니다.
또한 어떤 부분이 패턴, 반 패턴 또는 일반적으로 잘못 적용되는 패턴인지에 대해 논쟁을 불러 일으키는 부분이기도합니다.
이것은 단지 잘못이다.
조금 더 추가합니다.
이 코드는 미신적이거나 기껏해야화물 컬트 관행입니다.
미신은 분명한 정당화없이 행해지는 것입니다. 실제와 관련이있을 수 있지만 연결은 논리적이지 않습니다.
카고 컬트 관행은 지식이 풍부한 소스에서 배운 것을 복사하려고 시도하지만 실제로는 프로세스가 아닌 표면 인공물을 복사하는 것입니다 (파푸아 뉴기니 컬트의 이름을 따서 명 명함) 2 차 세계 대전 일본과 미국 비행기가 돌아 오기를 희망하면서 대나무로 된 비행기 조종 라디오.
이 두 경우 모두 실제 사례는 없습니다.
안티 패턴은 소규모 (처리해야 할 추가 사례를 처리하기위한 추가 브랜치, 스파게티 코드로 이어짐) 또는 매우 의도적으로 패턴을 구현하는 대규모에서 합리적인 개선을 시도합니다. 일부는 쓰기 전용 (예 : 로깅 객체 또는 읽기 전용 (예 : 구성 설정 객체)을 제외한 일부는 싱글 톤을 설명하고 일부는이를 비난 할 수도 있음) 또는 다른 곳에서 해결하는 경우 잘못된 문제 (.NET이 처음 등장했을 때 MS는 관리되지 않는 필드와 일회용 관리 필드가 모두있을 때 처리하는 패턴을 권장했습니다. 실제로 그 상황을 잘 처리하지만 실제 문제는 같은 클래스의 두 유형의 필드).
따라서 반 패턴은 언어, 문제 영역 및 사용 가능한 라이브러리를 잘 알고있는 현명한 사람이 의도적으로 할 수있는 일이며, 여전히 단점을 압도하는 단점이 있습니다.
우리 중 어느 누구도 주어진 언어, 문제 영역 및 사용 가능한 라이브러리에 대해 잘 알지 못하기 때문에 합리적인 솔루션에서 다른 솔루션으로 갈 때 누군가가 무언가를 놓칠 수 있기 때문에 (예를 들어, 필드에 무언가를 잘 사용하기 위해 저장하기 시작한 다음 시도) 그것을 리팩토링하지만 작업을 완료하지 않으면 문제와 같은 코드로 끝날 것입니다.) 우리는 때때로 학습에서 물건을 놓치므로 언젠가는 미신적이거나화물이 많은 코드를 만들었습니다. . 좋은 점은 실제로 안티 패턴보다 식별하고 수정하는 것이 더 명확하다는 것입니다. 진정한 반 패턴은 반 패턴이 아닐 수도 있고, 매력적인 품질을 가지고 있거나, 불량으로 식별 된 경우에도 적어도 반항 할 수있는 방법을 가지고 있습니다. 다른쪽으로 이어집니다).