[oop] 디자인 패턴 학습 / 구현 (초보자 용) [닫기]

나는 혼란스러워하는 초보자이자 취미 프로그래머이기 때문에 내 질문이 약간 틀리거나 이해가되지 않으면 용서해주세요.

나는 디자인 패턴의 사용과 관련된 많은 질문을 보았고, 누군가가 디자인 패턴에 대해 배우고 구현할 수있는 좋은 리소스를 가지고 있는지 궁금합니다. 나는 일반적인 아이디어를 이해하고 몇 가지 (Singletons, Factory methods)를 사용하는 방법 /시기를 알고 있지만 누락 된 것을 알고 있습니다.

(중요한 경우를 대비하여 선호하는 언어는 C #이지만 다른 언어의 예제에서 배울 수 있습니다)



답변

헤드 퍼스트 디자인 패턴

대체 텍스트

그리고 Design Pattern Wikipedia 페이지 는 초보자를위한 최고의 리소스입니다. FluffyCatJavaPHP의 디자인 패턴에 대한 또 다른 좋은 무료 온라인 리소스입니다 .

네 책의 갱은 이후 갈 곳이지만, 다른 자원에서 꽤 확고한 이해를 가지고 때까지 기다릴 것, 그래서 그것은 상당히 고급입니다.


답변

디자인 패턴은 여러 가지 이유로 훌륭합니다.

  1. 일반적인 문제를 해결하기위한 시작을 제공합니다.
  2. 개발자에게 매우 간결한 방식으로 문제를 해결하는 특정 방법에 대해 이야기 할 수있는 어휘를 제공합니다.
  3. 디자인 패턴을 알고 있고 솔루션에서 디자인 패턴을 사용하는 개발자와 함께 작업하면 솔루션을 훨씬 더 빨리 이해할 수 있습니다.

하지만 목표가 디자인 패턴을 배우는 것이라면 기본을 놓치고 있다고 생각합니다. 모든 디자인 패턴은보다 일반적인 원칙을 기반으로합니다. 높은 응집력, 낮은 커플 링 개방 폐쇄 원리, DRY, Liskov 대체 원리 등. 이러한 기본 사항에 대해 다음 책을이 순서대로 읽었습니다.

  1. Head First 객체 지향 분석 및 설계 (Head First) [일러스트] (페이퍼 백)
  2. UML 및 패턴 적용 (하드 커버)
  3. C #의 Agile Principles, Patterns, Practices (Robert C. Martin 시리즈) (하드 커버)

그 후 네 가지 디자인 패턴의 기본 갱단에 대한 준비가 완료되었습니다.

  1. Head First Design Patterns (Head First) [ILLUSTRATED] (페이퍼 백)
  2. 성경
  3. 멋진 웹 사이트 (아무것도 사지 마세요, 가치가 없습니다) http://dofactory.com/Patterns/Patterns.aspx (이 사이트의 일부 구현은 토론 할 가치가 있습니다

다음 단계:

  1. 엔터프라이즈 애플리케이션 아키텍처의 패턴 (Addison-Wesley Signature Series) (하드 커버)
  2. POSA 책

그리고 항상 기억하십시오 : 패턴은 목표가 아닙니다!


답변

나는 것을 추가 할 것입니다 디자인 패턴은 은 “네 명”에서 예약 심각 디자인 패턴에 관심있는 누군가를위한 성경입니다.


답변

내 팁 :

다른 출처의 패턴에 대해 많이 읽으십시오.

현재 작성중인 모든 코드에 가능한 한 많은 패턴을 적용하려고하면 좋은 결과를 얻을 수 없습니다. 대신 정보가 잠시 동안 두뇌에 머물게하십시오 (읽기 : 몇 달).

갑자기 문제 나 코드 조각에 걸려 넘어지고이 특정 문제에 대한 해결책으로 작동 할 수있는 무언가를 보았다는 것을 막연하게 기억하게 될 것입니다. 이제 생각하고있는 패턴의 세부 사항을 찾아 적용 해 볼 시간입니다.

어쨌든 그것이 나를 위해 일한 것입니다.


답변

디자인 패턴

이 튜토리얼 사이트에는 다음과 같은 하위 섹션이 있습니다.

  • 각 디자인 패턴의 의도
  • 디자인 패턴의 실제 구조
  • 문제 문
  • 문제에 대한 자세한 논의
  • 패턴에 도달하는 방법에 대한 체크리스트
  • 패턴에 도달하는 동안 경험 규칙 .
  • C #, C ++, Delphi, Java 및 PHP 를 포함하는 디자인 패턴에 대한 코드 조각

이 사이트에는 Anti Patterns , UMLRefactoring 에 대한 가이드도 포함되어 있습니다 .


답변

Bruce Eckel은 디자인 패턴에 관한 책을 가지고 있습니다 . 비록 Java이지만 그의 모든 책은 놀랍습니다. 그리고 가장 좋은 점은 무료라는 것입니다!


답변

디자인 패턴 에 대한 C # 관점에 대한 C # 3.0 디자인 패턴.

대체 텍스트
(출처 : oreilly.com )