Anti-Patterns

패턴이 모범 사례라는 것을 고려하면 반 패턴은 학습 된 교훈을 나타냅니다. Anti-Pattern이라는 용어는 GoF의 저서 "Design Patterns"에서 영감을 얻은 11 월 C ++ 보고서에서 Andrew Koenig가 1995 년에 만들어 냈습니다. Koenig의 보고서에는 두 가지 개념의 반 패턴이 제시되어 있습니다. 반 패턴 :

  • 나쁜 상황이 발생하는 특정 문제에 대한 잘못된 해결책을 설명하십시오.

  • 말한 상황에서 벗어나고 거기에서 좋은 해결책으로가는 방법을 설명하십시오.

이 주제에 대해 알렉산더는 좋은 디자인 구조와 좋은 컨텍스트 사이의 균형을 이루는데 어려움을 씁니다.

"이 노트는 디자인 과정에 관한 것입니다. 기능에 반응하여 새로운 물리적 질서, 조직, 형태를 나타내는 물리적 인 것들을 발명하는 과정. 모든 디자인 문제는 두 형태의 개체 사이의 적합성을 달성하기위한 노력으로 시작된다 : 문제의 형태와 문맥. 이 양식은 문제의 해결책입니다. 컨텍스트는 문제를 정의합니다. "

디자인 패턴을 인식하는 것이 매우 중요하지만, 안티 패턴을 이해하는 것도 똑같이 중요 할 수 있습니다. 이 문제를 해결하는 이유는 무엇입니까? 응용 프로그램을 만들 때 프로젝트의 수명주기가 시작되지만 일단 초기 릴리스가 완료되면 유지 관리해야합니다. 최종 솔루션의 품질은 팀이 기술에 투자 한 시간과 수준에 따라 좋거나 나쁠 것입니다. 여기서 좋은 점과 나쁜 점은 상황에 따라 고려됩니다. '완벽한'디자인은 잘못된 상황에서 적용될 경우 반 패턴으로 간주 될 수 있습니다.

더 큰 문제는 응용 프로그램이 생산에 들어가고 유지 관리 모드로 들어갈 준비가 된 후에 발생합니다. 이전에 응용 프로그램에서 작업하지 않은 시스템에서 작업하는 개발자는 실수로 프로젝트에 잘못된 디자인을 도입 할 수 있습니다. 나쁜 습관이 반 패턴으로 만들어지면 개발자는 이러한 사실을 미리 인식하여 발생할 수있는 일반적인 실수를 피할 수 있습니다. 이는 디자인 패턴이 우리에게 공통점을 인식 할 수있는 방법을 제공하는 것과 유사합니다 유용한 기술.

요약하면 반 패턴은 문서화 할 가치가있는 나쁜 디자인입니다. 자바 스크립트의 안티 패턴의 예는 다음과 같습니다.

  • 글로벌 컨텍스트에서 많은 수의 변수를 정의하여 글로벌 네임 스페이스 오염

  • 함수가 아닌 문자열을 setTimeout 또는 setInterval에 전달하면 내부적으로 eval()이 사용됩니다.

  • Object 클래스 프로토 타입 수정 (특히 나쁜 패턴입니다)

  • 자바 스크립트를 인라인 형식으로 사용하면 유연성이 떨어집니다.

  • document.createElement와 같은 네이티브 DOM 대안이 더 적합한 경우 document.write를 사용합니다. document.write는 오랜 동안 엄청난 오용을 해왔으며 페이지가로드 된 후에 실행되면 실제로 document.createElement가 아닌 페이지를 덮어 쓸 수 있다는 단점이 있습니다. 우리는 실제 상황에서 이것을 볼 수 있습니다. 또한 document.createElement와 같은 DOM 친화적 인 메소드를 선호하는 또 다른 이유 인 XHTML과 호환되지 않습니다.

반 패턴에 대한 지식은 성공에 중요합니다. 이러한 안티 패턴을 인식 할 수있게되면 코드를 리팩토링하여 코드를 무효화하여 솔루션의 전반적인 품질을 즉시 향상시킬 수 있습니다.

results matching ""

    No results matching ""