어댑터패턴 ( adapter pattern ) 어댑터 패턴이란 한 클래스의 인터페이스를 클라이언트에서 사용하고자 하는 다른 인터페이스로 변환한다. 어댑터를 이용하면 인터페이스 호환성 문제 때문에 같이 쓸 수 없는 클래스들을 연결해서 사용할 수 있다. 인터페이스를 변화해 주는 어댑터를 만들어서 사용한다. 어댑터에는 두 종류가 있.. 프로그램 아키텍쳐/디자인패턴 2009.01.07
커맨드 패턴 ( Command pattern ) 커맨드 패턴을 이용하면 요구 사항을 객체로 캡슐화 할 수 있으며,매개변수를 써서 여러 가지 다른 요구 사항을 집어 넣을 수도 있다. 또한 요청 내역을 큐에 저장하거나 로그로 기록할 수도 있으며, 작업취소 기능도 지원 가능하다. 커맨드 패턴은 메소드 호출을 캡슐화하여 한 차운 높은 단계의 캡슐.. 프로그램 아키텍쳐/디자인패턴 2009.01.06
싱글턴 패턴 ( Singleton Pattern ) 싱글턴 패턴은 특정 클래스에 대해 인스턴스가 하나만 생성되고, 어디에서든지 그 인스턴스에 접근할 수 있도록 하기 위한 패턴이다. 예를 들면, 레지스트리 설정을 처리하는 객체, 로그 기록용 객체, 프린터나 그래픽 카드 같은 디바이스를 위한 디바이스 드라이버 같은 것을 들 수 있다. 싱글턴 패턴.. 프로그램 아키텍쳐/디자인패턴 2009.01.05
팩토리 패턴 ( Factory pattern ) 생성 패턴은 객체의 인스턴스의 생성의 최선의 방법을 설명한다. 프로그램에서 객체 생성과 준비를 어떻게 할 것인가를 하드 코딩에 의존하지 않게 하기 때문에 중요하다. 물론 자바에서는 new 연산자를 사용한 단순한 방법으로 객체의 인스턴스를 생성할 수 있다. 하지만 new 연산자를 사용하여 객체.. 프로그램 아키텍쳐/디자인패턴 2009.01.05
데코레이터 패턴 ( Decorator Pattern ) 데코레이터 패턴(Decorator Pattern)은 객체에 추가적인 요건을 동적으로 첨가시킬 수 있다. 데코레이터 패턴은 서브클래스를 만드는 것(상속)을 통해서 기능을 유연하게 확장할 수잇는 방법을 제공한다. 즉, 여러가지 기능을 추가시켜야 할 때 중심이 되는 기능과 부가적인 기능을 나누어 클래스화 시켜 .. 프로그램 아키텍쳐/디자인패턴 2009.01.04
자바 내장 옵저버 패턴 자바에서 몇 가지 API를 통해서 자체적으로 옵저버패턴을 지원한다. 가장 일반적으로 쓸 수 있는 것으로 java.util 패키지에 들어있는 Observer 인터페이스와 Observable 클래스를 들 수 있다. 이 두 클래스는 푸시 방식으로도 갱신 할 수 있고, 풀 방식으로 갱신 할 수도 있다. 객체를 옵저버로 지정하는 방법 Ob.. 프로그램 아키텍쳐/디자인패턴 2009.01.04
옵저버 패턴 ( Observer pattern ) 옵저버 패턴(Onserver Pattern)은 한 객체의 상태가 바뀌면 그 객체에 의존하는 다른 객체들한테 연락이 가고 자동으로 내용이 갱신되는 방식으로 일대다(One-to-Many) 의존성을 정의한다. 보통 옵저버 패턴이 사용되는 기능에는 정보 갱신이 실시간 이루어 질 필요가 있는 곳에서 사용한다. 옵저버 패턴에서 .. 프로그램 아키텍쳐/디자인패턴 2009.01.03
스트래티지 패턴 ( Strategy pattern ) 소프트웨어는 개발한 후 유지·보수에 시간이 많이 투자하게 된다. 이 때 소프트웨어에 새로운 기능을 추가하거나, 다른 기능을 추가시켜야 하는 문제를 해결해야 한다. 하지만 소스 코드를 대거 수정하는 방법을 택한다면 혼란스러울 수 있다. 이럴 때 "변화 하는 부분"과 "고정되어 있는 부분"에 대.. 프로그램 아키텍쳐/디자인패턴 2009.01.02