디자인 패턴은 프로그램을 설계할 때 발생했던 문제점들을 객체간의 상호 관계 등을 활용하여 해결할 수 있도록 하나의 ‘규약’형태로 만들어놓은 것을 말한다.
•
목적
SW 재사용성, 호환성, 유지 보수성
•
특징
디자인 패턴은 아이디어이며, 특정한 구현이 아니다.
프로젝트에 항상 적용해야 하는 것은 아니지만, 추후 재사용, 호환, 유지 보수시 발생하는 문제 해결을 예방하기 위해 패턴을 만들어 둔 것이다.
•
분류 - 3가지 패턴의 목적을 이해하기!
1.
생성 패턴 (Creational) : 객체의 생성 방식 결정
Class-creational patterns, Object-creational patterns.
예) DBConnection을 관리하는 Instance를 하나만 만들 수 있도록 제한하여, 불필요한 연결을 막음.
2.
구조 패턴 (Structural) : 객체간의 관계를 조직
예) 2개의 인터페이스가 서로 호환이 되지 않을 때, 둘을 연결해주기 위해서 새로운 클래스를 만들어서 연결시킬 수 있도록 함.
3.
행위 패턴 (Behavioral): 객체의 행위를 조직, 관리, 연합
예) 하위 클래스에서 구현해야 하는 함수 및 알고리즘들을 미리 선언하여, 상속시 이를 필수로 구현하도록 함.