반응형
<디자인 패턴>
디자인 패턴은 소프트웨어 설계 시 특정 상황에서 자주 만나는 문제를 해결하기 위해 사용할수있는
재사용 가능한 솔루션을 말한다. 모든패턴에는 간결한 이름이 있어서 잘알려진 패턴을 적용하고자
할때 간단히 패턴 이름을 언급하는 것만으로도 설계의 의도와 해결책을 함께 설명할 수 있다는 장점이 있다.
디자인 패턴은 주로 객체지향 설계에 관한 것이고, 대부분 개체 지향적 설계 원칙을 이용해 문제를 해결한다.
패턴의 설계 구조를 보면 대부분 비슷한데, 그 이유는 객체 지향적인 설계로부터 문제를 해결하기 위해 적용할 수 있는
확장성 추구 방법이 대부분 두 가지 구조로 정리되기 때문이다.
하나는 클래스 상속이고 다른 하나는 오브젝트 합성이다. 따라서 패턴의 결과로 나온 코드나 설계 구조만 보면
대부분 비슷해 보인다. 패턴에서 가장 중요한것은 각 패턴의 핵심이 담긴 목적 또는 의도다. 패턴을 적용할 상황,
해결해야 할 문제, 솔루션의 구조와 각 요소의 역할과 함께 핵심 의도가 무엇인지를 기억해둬야 한다.
디자인 패턴은 객체지향 언어인 자바를 사용하는 개발자라면 반드시 공부해야 할 주제다.
디자인 패턴을 최초로 집대성한 책인<GoF의 디자인 패턴>(에릭 감마 외) 또는 <Head First Design Patterns>을 추천한다.
GoF의 책은 딱딱하고 어렵게 느껴질수도 있지만, 디자인 패턴의 가장 중요한 핵심을 잘 설명하는 최고의 책이다.
다른 책을 먼저 공부하더라도 언젠가 한번은 꼭 읽어보기 바란다.
반응형
'개발 > JAVA' 카테고리의 다른 글
스프링의 기술에 대한 지식과 선택 기준 정립 (0) | 2013.10.21 |
---|---|
공통 프로그래밍 모델 -ioC/Di 서비스 추상화,AOP (0) | 2013.10.21 |
싱글톤 패턴 (0) | 2013.10.07 |
오브젝트의 동일성과 동등성 (0) | 2013.10.07 |
DAO의 분리 (0) | 2013.10.07 |
댓글