CoR 패턴 ( Chain of Responsibility Pattern ) 객체에게 보낸 메세지가 내부적으로 연결된 다른 객체들에게 자동으로 전달되어, 객체들 중 해당 조건에 만족하는 객체가 실행을 담당하는 패턴을 말한다. 객체들간의 의존성을 존더 약화 시키는 효과를 가진다. 즉, 메시지가 전달되면 해당 객체만 일을 하고 나머지 객체는 아무것도 하지 않는 패턴.. 프로그램 아키텍쳐/디자인패턴 2009.09.14
디자인 패턴 종류의 설명 패턴을 구분할 때는 목적에 따라 구분하는 데 GoF(Gang of Four)가 정의한 방법으로, 유연한 방법으로 객체의 집합을 생성하는 패턴(생성패턴), uniform interface를 위하여 관계 잇는 객체의 모임을 표현하는 패턴(구조패턴), 객체의 모임 사이에 일어나는 행위를 뽑아 놓은 패턴(행위패턴).. 프로그램 아키텍쳐/디자인패턴 2009.08.27
리팩토링(Refactoring) 개념 리팩토링은 소프트웨어 개발 시 프로그램 코드를 보다 쉽게 이해할 수 있고, 적은 비용으로 수정할 수 있도록 겉으로 보이는 동작에는 변화 없이 프로그램 코드를 변경하는 것을 말합니다. 프로그램 코드를 작성하다 보면 잦은 구조 변경이나 추가적인 요구 사항을 작성하다 스파게티코.. 프로그램 아키텍쳐/Refactoring 2009.08.27
디자인 패턴(Design Patterns)이란 디자인 패턴은 프로그램 개발에 자주 나타나는 과제를 해결하기 위한 방법 중 하나로, 과거의 소프트웨어 개발 과정에서 발견된 설계의 노하우를 축적하여 이름을 붙여, 이후에 재이용하기 좋은 형태로 특정의 규약을 묶어서 정리한 것이다. 알고리즘과 같이 프로그램 코드로 바.. 프로그램 아키텍쳐/디자인패턴 2009.08.27
모델과 모델링 언어 그리고 UML(Unified Modeling Language) 모델과 모델링 언어 모델이라는 용어는 많은 분야에서 저마다의 의미를 가지며 사용되고 있다. 소프트웨어 개발 프로세스에서의 모델은 상세(specification), 디자인(design), 시스템(system) 등을 특별한 관점에서 추상화시킨 표현이라고 할 수 있다. 모델을 사용하는 목적은 개발에 참여한 사람.. 프로그램 아키텍쳐/UML 2009.07.30
어댑터패턴 ( 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