나는 혼란스러워하는 초보자이자 취미 프로그래머이기 때문에 내 질문이 약간 틀리거나 이해가되지 않으면 용서해주세요.
나는 디자인 패턴의 사용과 관련된 많은 질문을 보았고, 누군가가 디자인 패턴에 대해 배우고 구현할 수있는 좋은 리소스를 가지고 있는지 궁금합니다. 나는 일반적인 아이디어를 이해하고 몇 가지 (Singletons, Factory methods)를 사용하는 방법 /시기를 알고 있지만 누락 된 것을 알고 있습니다.
(중요한 경우를 대비하여 선호하는 언어는 C #이지만 다른 언어의 예제에서 배울 수 있습니다)
답변
그리고 Design Pattern Wikipedia 페이지 는 초보자를위한 최고의 리소스입니다. FluffyCat 은 Java 와 PHP의 디자인 패턴에 대한 또 다른 좋은 무료 온라인 리소스입니다 .
네 책의 갱은 이후 갈 곳이지만, 다른 자원에서 꽤 확고한 이해를 가지고 때까지 기다릴 것, 그래서 그것은 상당히 고급입니다.
답변
디자인 패턴은 여러 가지 이유로 훌륭합니다.
- 일반적인 문제를 해결하기위한 시작을 제공합니다.
- 개발자에게 매우 간결한 방식으로 문제를 해결하는 특정 방법에 대해 이야기 할 수있는 어휘를 제공합니다.
- 디자인 패턴을 알고 있고 솔루션에서 디자인 패턴을 사용하는 개발자와 함께 작업하면 솔루션을 훨씬 더 빨리 이해할 수 있습니다.
하지만 목표가 디자인 패턴을 배우는 것이라면 기본을 놓치고 있다고 생각합니다. 모든 디자인 패턴은보다 일반적인 원칙을 기반으로합니다. 높은 응집력, 낮은 커플 링 개방 폐쇄 원리, DRY, Liskov 대체 원리 등. 이러한 기본 사항에 대해 다음 책을이 순서대로 읽었습니다.
- Head First 객체 지향 분석 및 설계 (Head First) [일러스트] (페이퍼 백)
- UML 및 패턴 적용 (하드 커버)
- C #의 Agile Principles, Patterns, Practices (Robert C. Martin 시리즈) (하드 커버)
그 후 네 가지 디자인 패턴의 기본 갱단에 대한 준비가 완료되었습니다.
- Head First Design Patterns (Head First) [ILLUSTRATED] (페이퍼 백)
- 성경
- 멋진 웹 사이트 (아무것도 사지 마세요, 가치가 없습니다) http://dofactory.com/Patterns/Patterns.aspx (이 사이트의 일부 구현은 토론 할 가치가 있습니다
다음 단계:
그리고 항상 기억하십시오 : 패턴은 목표가 아닙니다!
답변
나는 것을 추가 할 것입니다 디자인 패턴은 은 “네 명”에서 예약 심각 디자인 패턴에 관심있는 누군가를위한 성경입니다.
답변
내 팁 :
다른 출처의 패턴에 대해 많이 읽으십시오.
현재 작성중인 모든 코드에 가능한 한 많은 패턴을 적용하려고하면 좋은 결과를 얻을 수 없습니다. 대신 정보가 잠시 동안 두뇌에 머물게하십시오 (읽기 : 몇 달).
갑자기 문제 나 코드 조각에 걸려 넘어지고이 특정 문제에 대한 해결책으로 작동 할 수있는 무언가를 보았다는 것을 막연하게 기억하게 될 것입니다. 이제 생각하고있는 패턴의 세부 사항을 찾아 적용 해 볼 시간입니다.
어쨌든 그것이 나를 위해 일한 것입니다.
답변
디자인 패턴
이 튜토리얼 사이트에는 다음과 같은 하위 섹션이 있습니다.
- 각 디자인 패턴의 의도
- 디자인 패턴의 실제 구조
- 문제 문
- 문제에 대한 자세한 논의
- 패턴에 도달하는 방법에 대한 체크리스트
- 패턴에 도달하는 동안 경험 규칙 .
- C #, C ++, Delphi, Java 및 PHP 를 포함하는 디자인 패턴에 대한 코드 조각
이 사이트에는 Anti Patterns , UML 및 Refactoring 에 대한 가이드도 포함되어 있습니다 .