디자인 패턴 Design Pattern
프로그램 개발자들은 프로그래밍을 하다보면 수많은 시행착오를 겪게된다.
이러한 경험을 바탕으로 프로그래밍시 발생하는 문제들에 대한 요류를 최소화하고,
프로그램 목적에 따른 효율적인 방법을 모아놓은 구조를 디자인 패턴이라 한다.
즉, 통상적인 문제에 대해 재사용가능한 솔루션 기법을 의미한다.
비유하자면, 목적지로 이동할 때 정해질 길이 없던 시절엔 누군가 첫발을 내딛어야할 것이다.
그리고 시간이 지날 수록 목적지로 향하는 사람이 늘면 다양한 길이 생길 수 있다.
그래도 결국엔 많은 이들의 경험이 축적되면서 가장 효율적인 길만 두드러지게 된다.
이는 비록 그 길이 가장 빠른 길이라고 단언할 순 없으나,
분명한 것은 가장 안전하고 효율적일 것이라는 사실이다.
이것이 바로 디자인 패턴이며, 이러한 패턴의 종류는 상황에 따라 매우 다양하다.
종류
크게 4가지로 분류할 수 있다.
1) 창조적 패턴 Creational patterns
말이 창조지, 사실 생성할 때의 디자인 패턴 기법을 말한다.
명칭 | 역할 | |
싱글톤(Singleton) | 단일 인스턴스를 제공하며, 어디서든 접근가능할 수 있도록 한다. | |
이하 작성 中 .. |
2) 구조적 패턴 Structural pattern
내외부적 구조에 관한 디자인 패턴 기법이다.
명칭 | 역할 | |
이하 작성 中 .. |
3) 행위적 패턴(Behavioral pattern)
동적인 명령을 수행할때의 디자인 패턴 기법이다.
명칭 | 역할 | |
이하 작성 中 .. |
4) 동시성 패턴(Concurrency pattern)
동시간에 같은 자원을 점유하려는 등의 이슈를 해결하기위한 패턴이다.
명칭 | 역할 | |
이하 작성 中 .. |
마치며
아직 미흡한 부분이 많아서 작성을 아끼려했지만,
완성하려면 오래 걸릴 것 같아서 까먹지 않게 미리 써둔다.
앞으로 보다 세분화된 패턴은 공부하면서 정리할 것이고,
포스팅할 때 마다 내용을 업데이트하고 내용을 보강하겠다.
참고자료
끝.
'IT > JAVA' 카테고리의 다른 글
오버로딩(Overloading)과 오버라이딩(Overriding) in JAVA (0) | 2016.05.26 |
---|---|
[통합 개발 환경] 자바(java) :: 이클립스 및 JDK 설치하기 (0) | 2016.05.02 |
자바가상머신(JVM; Java Virtual Machine)의 구조와 작업 수행 절차 (0) | 2016.04.26 |
[디자인 패턴] 싱글톤 디자인 패턴(Singleton Design Pattern) in JAVA (0) | 2016.04.24 |
소켓프로그래밍(Socket Programming) in JAVA :: 개념 및 에코서버 예제 (0) | 2016.04.23 |