어떤 디자인 패턴을 사용해야합니까? [닫은]
나는 디자인 패턴을 매우 좋아하지만 언제 적용 할 수 있는지보기가 어렵다. 디자인 패턴을 설명하는 웹 사이트를 많이 읽었습니다. 나는 그것들의 대부분을 이해하지만, 내 상황에서 패턴을 인식하기가 어렵다는 것을 느낀다.
그래서 제가이 질문을하는 것입니다. 어떤 디자인 패턴을 사용할 때 지침 / 경보 벨이 있습니까?
예를 들어, 생성해야하는 객체를 결정하기 위해 switch 문을 수행하는 경우 팩토리 디자인 패턴을 사용할 수 있습니다. 따라서이 경우 switch 문은 Factory 패턴을 사용하기위한 '알람 벨'입니다.
그렇다면 디자인 패턴을 결정하기 위해 더 많은 '알람 벨'을 알고 있습니까?
우선이 페이지를 살펴보십시오 : http://codebetter.com/jeremymiller/2006/04/11/six-design-patterns-to-start-with/
여기에서 Jeremy는 몇 가지 패턴 집합을 다루지 만 다음 기사를 읽고 따라야합니다. http://codebetter.com/jeremymiller/2005/09/01/learning-about-design-patterns/
또한이 기사 (특히 Eric Gamma의 인터뷰)에 대한 참고 자료를 사용하고 설정해야합니다.
일반적으로 프로세스는 반대입니다. 디자인 패턴을 사용할 상황을 찾지 말고 최적화 할 수있는 코드를 찾으십시오. 올바르게 구조화되지 않은 것으로 생각되는 코드가있을 때. 문제를 해결할 디자인 패턴을 찾으십시오.
디자인 패턴은 구조적 문제를 해결하는 데 도움이됩니다. 디자인 패턴을 사용할 수 있도록 응용 프로그램을 디자인하지 마십시오.
그것들을 배우고 천천히 당신은 그것들을 언제 사용할지 재구성하고 알아낼 수있을 것입니다. 싱글 톤 패턴과 같은 간단한 것으로 시작하십시오. :)
하나의 개체 인스턴스를 만들고 하나만 만들려는 경우. 싱글 톤 패턴을 사용합니다. 옵션 객체를 사용하여 프로그램을 만들고 있다고 가정 해 보겠습니다. 당신은 그 중 몇 가지를 원하지 않습니다. Singleton은 하나 이상이 없도록합니다. 싱글 톤 패턴은 간단하고 많이 사용되며 정말 효과적입니다.
@Peter Rasmussen에 전적으로 동의합니다.
디자인 패턴은 일반적으로 발생하는 디자인 문제에 대한 일반적인 솔루션을 제공합니다.
아래 접근 방식을 따르시기 바랍니다.
- 각 패턴의 의도 이해
- 각 패턴의 체크리스트 또는 사용 사례 이해
- 문제에 대한 해결책을 생각하고 해결책이 특정 패턴의 체크리스트에 포함되는지 확인하십시오.
- 그렇지 않다면 디자인 패턴을 무시하고 자신의 솔루션을 작성하십시오.
유용한 링크:
sourcemaking : C ++ 및 Java를 포함한 여러 언어로 의도 , 구조 및 체크리스트를 아름답게 설명합니다.
wikipedia : C # 및 Java를 포함한 여러 언어로 된 구조, UML 다이어그램 및 작업 예제를 설명합니다.
각 소스 메이킹 디자인 패턴 의 체크리스트 및 경험 규칙은 사용자가 찾고있는 알람 벨을 제공합니다.
참고 URL : https://stackoverflow.com/questions/5039752/when-to-use-which-design-pattern
'development' 카테고리의 다른 글
Python 2.6에서 unicode_literals를 사용하는 문제가 있습니까? (0) | 2020.08.16 |
---|---|
심볼릭 링크 :이 파일에 링크 된 모든 파일 찾기 (0) | 2020.08.16 |
전체 컨텍스트로 git diff를 얻는 방법은 무엇입니까? (0) | 2020.08.16 |
asp.net 외부에서 Razor View Engine을 사용할 수 있습니까? (0) | 2020.08.16 |
git 병합 충돌에서 생성되는 BACKUP, BASE, LOCAL 및 REMOTE 파일은 무엇입니까? (0) | 2020.08.16 |