2008-09-24 4 views
2

고전적인 "디자인 패턴 : 재사용 가능한 객체 지향 소프트웨어의 요소"는 실제로 우리 대부분을 디자인 패턴의 개념에 도입했습니다.디자인 패턴의 범주

요즘 나는 Martin Fowler의 "Patterns of Enterprise Application Architecture"(POEA)와 같은 책을 찾고 있는데, 이것은 일상 업무에서 훨씬 유용합니다.

동료 개발자와의 토론에서 많은 사람들이 .NET과 같은 프레임 워크가 천천히 GOF 책의 많은 패턴을 제공하기 시작 했으므로 (바퀴살을 다시 발명하는 이유)?

많은 개발자가 GOF 책이 디자인 패턴을 갖는 유일한 참고 자료라고 생각하는 것 같습니다. 따라서 프레임 워크 (.NET 등)가 우리에게 많은 GOF 패턴을 제공하기 때문에 패턴이 그 날을 보았고 더 이상 중요하지 않기 때문에 논리가 바뀝니다.

놀랍게도 (적어도 나에게) 내가 POEA에서 설명 된 패턴을 언급 할 때, 나는 종종 빈 쳐다 본다.

POEA는 패턴이 단지 중개자, 싱글 톤, 명령 그 이상이라는 것을 증명합니다. GOF의 패턴은 실제로 패턴의 뚜렷한 "범주"이며 다른 (겹치지 않는) 수준에 적용 할 수 있습니다. 디자인, POEA에서보다.

따라서 패턴의 다른 "카테고리"가 개발에 적용 되었습니까? 이 패턴들은 어느 수준의 디자인에 적용됩니까? 개발 프로세스의 어느 시점에서 그들은 일반적으로 사용됩니까? 이 패턴에 대한 책이나 참고 자료가 있습니까?

+0

파울러의 기업 패턴 책 나는에 대한 일반적인 약칭 PEAA – jop

답변

6

CategoryPatterns에 Ward의 위키에는 분류 된 패턴 목록이 포함되어 있습니다.

처음 세 GoF의 패턴

  • 구조
  • 행동

    • 창조적이다

    그런 문제가 특정 문제

    • 보안
    • 있다
    • 동시성
    • 리얼 타임

    파울러의 패턴은 엔터프라이즈 애플리케이션 패턴입니다. Enterprise Integration Patterns도 있습니다. UI 패턴도 존재합니다 ..

  • 0

    GoF 패턴도 코드에만 엄격하게 적용됩니다. 파울러의 패턴은 코드뿐만 아니라 데이터 및 시스템 구성 요소가 배열되고 상호 연결되는 방식에 대한 패턴입니다.

    또한 프로그래밍 언어로 이미 구운 경우 일부 패턴이 필요하지 않습니다. 일부 언어에서는 단순히 숙어입니다. 실제로 디자인 패턴이 프로그래밍 언어 결함의 징조라고 주장한 사람이 있습니다.

    2

    나는이 질문에 다소 다른 답변을 한 이후로 대답을 추가하고 있습니다.

    • 건축 패턴 (예를 들어, 레이어, MVC, P2P)
    • 디자인 패턴 (예를 들어 GoF의 패턴 : POSA (책의 패턴 지향 소프트웨어 아키텍처 시리즈)에 따르면, 패턴의 세 가지 수준이있다)
    • 숙어 (Pimpl, ++ C에서 RAII)과 같은 예를 들어 언어 특정 패턴
    관련 문제