Prototype Pattern 생성패턴중의 하나로써 필요한 객체를 어떻게 생성해야 되는지 모를때 생성하고자 하는 객체의 프로토타입을 제공하고, 기존의 데이터나 객체를 이용해 쉽게 해당 객체를 만들 수 있도록 한다. 프로토타입 객체를 만들고, 이 객체속에 데이터를 원하는 형태의 객체로 만들어주는 클론 메소드를 제공해준다. 그리고 사용자들은 클론 메소드에 일반 데이터나 객체를 인수로 넘겨, 원하는 형태의 객체나 작업이 생성되거나 실행되게 한다. 1) 문제 사례 설명 더보기 Factory Method Pattern (대행 함수를 통한 객체 생성 문제) 생성패턴 중 하나로써 동적으로 변환되는 객체를 효율적으로 활용하기 위해 상황에 맞는 객체를 반환한다. 팩토리 객체가 리턴하는 객체는 동적으로 변환되는 객체의 조상 객체인데, 실제로는 일반 객체가 조상 객체로 형변환 된 객체이다. 1) 문제 사례 설명 윈도우에서 문서 파일을 더블클릭한 경우를 생각해보자. 문서파일이름의 확장자에 따라 적절한 응용 프로그램이 실행될 것이다. 이런 동작 과정을 객체지향관점에서 살펴보면 두 가지 종류의 객체가 생성되어야 함을 알 수 있다. 그 하나는 응용 프로그램 객체고, 다른 하나는 더블클릭된 문서 파일에대한 객체이다. 즉 어떻게 운영체제가 호출하는 인터페이스는 응용 프로그램에 상관없이 동일하게 유지되면서, 응용 프로그래마다 생성되는 객체는 각 응용 프로그램마다 고유하게 만들어.. 더보기 Abstract Factory Pattern (제품군별 객체 생성 문제) 생성패턴중 하나로써 동적으로 변환되는 객체들이 그룹으로 이루어져 있을때 팩토리 메소드 객체의 기능을 하는 객체를 한 번 더 추상화해서 추상 팩토리 객체를 만들어 준다. 그런 다음에 팩토리 객체가 반환하는 객체가 하나가 아닌 여러 그룹이 되도록 만든다. 1) 문제 사례 설명 컴파일러를 개발하기 위해 설계를 한다고 생각해보자. 컴파일러는 입력되는 원시 코드를 토큰 단위로 잘라주기 위한 스캐너(Scanner), 구문 분석을 하기 위한 파서(Parser), 중간 코드 및 기계어 코드를 생성하기 위한 코드 생성기(Code Generator), 생성된 코드를 최적화시켜주기 위한 최적화 모듈(Optimizer)등으로 구성된다. 시스템이 서로 다를 경우 기계어 코드를 생성하기 위한 Code Generator 클래스의 .. 더보기 이전 1 ··· 256 257 258 259 260 261 262 ··· 274 다음