본문 바로가기

Design Pattern

디자인패턴 정리 디자인 패턴(Design Pattern)디자인 패턴의 정의 -프로그래머들이 유용하다가 생각되는 객체들간의 일반적인 상호작용 방법들을 모은 목록-어떤 분야에서 계속 반복해서 나타나는 문제들을 해결해 온 전문가들의 경험을 모아서 정리한 것-여러 번 반복하여 사용할 수 있는 문제에 대한 솔루션을 기술한 것(Gamma) 디자인 패턴의 역사 -디자인 패턴의 연구는 1990년대 초반 Erich Gamma[1992]에 의해 시작-일반적으로 GoF(Gang of Four)의 분류가 많이 활용되고 있음.-23개의 일반적이고 유용한 패턴들을 제공-패턴을 사용하게 되면 이미 검증된 해결방안을 계속 재사용할 수 있음. 패턴의 구성요소(GoF) -패턴의 이름과 구분: 패턴을 부를 때 사용하는 이름과 패턴의 유형-문제 및 .. 더보기
Adapter vs Bridge, Composite vs Decorator vs Proxy 비교 구조 패턴은 코드와 객체를 구조화하기 위해 언어가 제공하는 아주 작은 범위의 개념을 이용하기 때문에 각 패턴의 구조가 비슷할 수밖에 없다. 이러한 패턴들의 차이점은 왜 이 패턴을 써야 하는가에 있다. Adapter vs Bridge Adapter 패턴과 Bridge 패턴은 둘다 다른 객체에 대한 직접 접근 대신에 다른 우회적 방법으로 접근함으로써 유연성을 증대시킨다. 두 패턴간의 가장 큰 차이는 목적이 무엇인가 하는 것이다. Adapter의 목적은 이미 존재하는 두 인터페이스간의 불일치를 해결하려는 것이다. 그러나 Adapter패턴은 어떤 인터페이스를 어떻게 구현하게 할 것인가라든가, 인터페이스와 구현을 독립적으로 발전시키는 방법은 무엇일까 등의 사항은 전혀 고려치 않는다. 이에 비해 Bridge 패턴의.. 더보기
Factory Method 패턴과 Abstract Factory 패턴의 차이점 Factory Method & Abstract Factory 차이점 작성자 : 박민권 Factory Method 패턴과 Abstract Factory 패턴이 너무 비슷해 보여서 이 두 패턴의 차이점을 정의해봅니다. 두 패턴에 대한 자세한 내용은 이곳에 기술하지 않습니다. 디자인 패턴에 대해 궁금증을 갖고 이 글을 읽으시는 분이라면 상속, 다형성, abstract등 클래스에 대한 기본지식은 알고 있다는 가정하에 글을 작성했습니다. 이해하기 쉽도록 스타크래프트를 예로 설명하겠습니다. 틀린 부분이 있다면 지적 부탁드립니다. Factory Method abstract class 유닛{ void 어택(); } class 마린 : 유닛{ void 어택(){총쏜다;} } class 매딕 : 유닛{ void 어택(){.. 더보기