(탑엔지니어링) 디자인 패턴



가다) 디자인 패턴 개념

소프트웨어 디자인의 맥락에서
반복되는 문제
일반 및 재사용 가능한 솔루션

디자인 패턴의 분류

(두음)본나인라인 게스트


다른 목적에 따라 “크리에이티브 모드”, “구조 모드” 및 “액션 모드”로 나눌 수 있습니다.

생성 모드: 객체 생성 과정에 관련된 패턴

구조 모델: 클래스 또는 객체에 대한 복합 패턴

행동 패턴클래스 또는 개체가 상호 작용하고 책임을 할당하는 방법을 정의하는 스키마입니다.

범위에 따라 패턴이 주로 클래스에 적용되는지 개체에 적용되는지 구분할 수 있습니다.

클래스 패턴: 클래스와 서브클래스 간의 관계를 다루는 패턴입니다.

종속성은 대부분 상속이며 컴파일 시간에 정적으로 결정됩니다.

개체 모드: 객체 종속성을 처리하기 위한 패턴으로 런타임 시 변경 가능하며 동적입니다.

나) 대표적인 디자인 패턴

“팩토리 메서드 패턴과 인터프리터는 오래된 문제입니다.


① 객체 생성 모드

  • 팩토리 메소드 패턴

– 정의 : 객체가 생성되는데 객체 생성자를 직접 호출하여 객체를 생성하는 것이 아니라 프록시 상수를 통해 간접적으로 객체를 생성한다.

– 장점: 생성된 객체와 상관없이 동일한 형태로 프로그래밍이 가능하다.

따라서 유연하고 확장 가능합니다.

– 단점: 생성된 객체의 타입이 변경될 때마다 새로운 서브클래스를 정의해야 함.

– 사용예시 : 운영체제에서 프로그램을 더블클릭하면 해당 프로그램을 실행시키는 운영체제의 프로세스

③ 행동패턴

  • 통역 모드

– 정의: 별도의 데이터 구조 없이 문법 검사 및 필요한 기능을 효율적으로 수행할 수 있도록 문법 자체를 비교적 간단한 문법의 클래스로 정의한 클래스 구조.

– 장점: 구문 변경 또는 확장이 쉬움, 구문 구현이 쉬움

TOPCIT 에센스 정독을 권장합니다.

과거의 문제

(관리 129-2-6)
객체 지향 기술에는 리팩토링과 디자인 패턴이 있습니다.


이 두 기술을 각각 정의하고 유사점과 차이점을 설명하십시오.

(117-2-1 신청)
디자인 패턴에서 팩토리 메소드 패턴을 사용하는 이유를 설명하고 다음 클래스 다이어그램을 사용하여 팩토리 메소드 패턴을 적용한 JAVA 코드를 생성하시오.

(관리 104-3-1)
객체지향 소프트웨어 설계에 도움이 되는 GoF의 디자인 패턴 도메인을 목적과 범위별로 분류하고 각 카테고리의 특징을 설명한다.


또한 객체지향 시스템에서 개발된 기능을 재사용하기 위한 대표적인 기술인 화이트박스 재사용, 블랙박스 재사용, 위임이 패턴과 어떤 관련이 있는지 설명합니다.

(관리 87-3-1)
디자인 패턴에 대한 다음 질문에 답하십시오.

(1) GoF(Gang of Four)에서 제안하는 나머지 디자인 패턴의 개념과 종류를 설명하시오.
(2) Interpreter라는 디자인 패턴에 대해 설명하라.

(관리 81-1-2)
디자인 패턴과 아키텍처 스타일의 차이점을 설명하십시오.

참조

Topset Essence – 소프트웨어 개발