4. 디자인패턴. 학습목표 2 4.1 디자인패턴의 이해  크리스토퍼 알렉산더  Each pattern describes a problem which occurs over and over again in our environment, and then describes.

Slides:



Advertisements
Similar presentations
CI(Continuous Integration) 이학성. C ontinuous I ntegration? 2 지속적으로 품질관리 를 적용하는 과정 개발자가 기존 코드의 수정 작업 을 시작할 때, 코드 베이스의복사본을 받아서 작업을 시작하면서 코드의 변경.
Advertisements

2008 년 11 월 20 일 실습.  실험제목 ◦ 데이터베이스 커넥션 풀  목표 ◦ 데이터베이스 커넥션 풀의 사용.
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
Chapter 16 : Struts 프레임워크 2. chapter 16 : Struts 프레임워크 2.
CHAP 22. 블루투스.
클래스 class, 객체 object 생성자 constructor 접근 access 제어 이벤트 event 처리.
Power Java 제3장 이클립스 사용하기.
MS-Access의 개요 1강 MOS Access 2003 CORE 학습내용 액세스 응용 프로그램은 유용한 데이터를
최윤정 Java 프로그래밍 클래스 상속 최윤정
제 4 장 관계 학기 소프트웨어설계.
Java로 배우는 디자인패턴 입문 Chapter 5. Singleton 단 하나의 인스턴스
JAVA 언어로 배우는 디자인 패턴 입문 chap. 1-2.
제 6장. 생성자와 소멸자 학기 프로그래밍언어및실습 (C++).
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
Lesson 9. 예외처리.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
Error Detection and Correction
자바 5.0 프로그래밍.
D / K / I / T / E / C / H / N / O / L / O / G / Y
10장. 예외처리.
11장. 1차원 배열.
CHAP 12. 리소스와 보안.
10강. JSP 본격적으로 살펴보기-II 스크립트릿, 선언, 표현식 지시자 주석 Lecturer Kim Myoung-Ho
7장 인터페이스와 추상 클래스.
Method & library.
자바 5.0 프로그래밍.
자바응용.
2장. 데이터베이스 관리 시스템 데이터베이스 관리 시스템의 등장 배경 데이터베이스 관리 시스템의 정의
소프트웨어공학 윤일노 STARuml Guide 소프트웨어공학 윤일노
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
MVC 모델을 이용한 웹 애플리케이션 작성 웹 애플리케이션 개발 순서를 알아본다 웹 애플리케이션의 실행 순서를 이해한다.
Lesson 2. 기본 데이터형.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
27강 JAVA Collections - II - Map계열 컬렉션 클래스 살펴보기 - Set계열 컬렉션 클래스 살펴보기
15장 컬렉션 프레임워크 Section 1 컬렉션 프레임워크의 개요 Section 2 리스트 Section 3 셋
자율주행 차량용 드라이빙 컴퓨팅 하드웨어 플랫폼 05
제 5 장 집합연관, 복합연관, 인터페이스, 실체화 (교재: J. Schmuller 저/곽용재 역, 초보자를 위한 UML 객체지향설계, 제3판, 정보문화사, 2006) 학기 소프트웨어설계.
Clipping 이진학.
제 4장. 객체 지향 프로그래밍 시작하기 학기 프로그래밍언어및실습 (C++).
AUTODESK AUTOCAD ELECTRICAL 전기제어 2D 설계 소프트웨어 표준기반 설계 생산성 도구 구조도 설계
MovieStory 작성자 홍성혁 소속 전자전기컴퓨터공학부 학번
LabVIEW WiznTec 주임 박명대 1.
Power Java 제11장 상속.
데이터 베이스 DB2 관계형 데이터 모델 권준영.
컴포넌트 다이어그램 컴포넌트 정의 컴포넌트 다이어그램의 UML 표기법 컴포넌트와 클래스 컴포넌트 다이어그램의 간단한 예
15강. 폼 데이터 값 검증 Validator를 이용한 검증 ValidationUtils 클래스
JA A V W. 06.
CHAP 21. 전화, SMS, 주소록.
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
객체기반 SW설계 팀활동지 4.
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
12강. 컨트롤러 컨트롤러 클래스 제작 요청 처리 메소드 제작 뷰에 데이터 전달
중복 멤버의 처리 조 병 규 한 국 교 통 대 학 교 SQ Lab..
제 8장. 클래스의 활용 학기 프로그래밍언어및실습 (C++).
3. 모듈 (5장. 모듈).
학습내용 프로토콜 계층화 OSI 모델의 용어 및 기능 개체 서비스 접근점 (N) 프로토콜과 (N) 서비스 서비스 프리미티브
발표자 : 이지연 Programming Systems Lab.
Android -Data Base 윤수진 GyeongSang Univ. IT 1.
Component Diagram 1.
.Net FrameWork for Web2.0 한석수
적용 가능 시간표 무한 생성 기계 2007/06/18 최석훈.
학부 컴퓨터공학부 교육과정 (학부) 2학년 4학년 3학년 1학년 1학기 2학기 IPP 자격과정 전공트랙
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
CHAP 15. 데이터 스토리지.
 6장. SQL 쿼리.
프로젝트 결과 발표 네트워크정보통신과 강동성 이현미.
상속 (Inheritance) private 전용부분 전용부분 공용부분 공용부분 public 기본 클래스
7 생성자 함수.
6 객체.
Presentation transcript:

4. 디자인패턴

학습목표 2

4.1 디자인패턴의 이해  크리스토퍼 알렉산더  Each pattern describes a problem which occurs over and over again in our environment, and then describes the core of the solution to that problem, in such a way that you can use this solution a million times over, without ever doing it the same way twice.  바퀴를 다시 발명하지 마라 (Dont reinvent the wheel)  패턴은 비슷하거나 동일한 양식 또는 유형들이 반복되어 나타난다는 의미이며, 문 제와 해결책도 동일한 유형이나 양식을 통해 쉽게 찾을 수 있다.  소프트웨어를 설계할 때 특정 맥락에서 자주 발생하는 고질적인 문제 들이 발생했을 때 재사용할 수 있는 훌륭한 해결책 3

디자인 패턴 구조  콘텍스트 : 문제가 발생하는 여러 상황을 기술한다. 즉, 패턴이 적용될 수 있는 상황을 나타낸다. 경 우에 따라서는 패턴이 유용하지 못하는 상황을 나 타내기도 한다.  문제 : 패턴이 적용되어 해결될 필요가 있는 여러 디자인 이슈들을 기술한다. 이때 여러 제약 사항 과 영향력도 문제 해결을 위해 고려해야 한다  해결 : 문제를 해결하도록 설계를 구성하는 요소들 과 그 요소들 사이의 관계, 책임, 협력 관계를 기 술한다. 해결은 반드시 구체적인 구현 방법이나 언어에 의존적이지 않으며 다양한 상황에 적용할 수 있는 일종의 템플릿이다. 4

디자인 패턴의 구조  콘텍스트 : 클래스가 객체를 생성하는 과정을 제어해야 하는 상황  문제 : 애플리케이션이 전역적으로 접근하고 관리할 필요가 있는 데이터를 포함한다. 동시에 이러한 데이터는 시스템에 유일하다. 어떤 방식으로 클래스에서 생성되는 객체 의 수를 제어하고 클래스의 인터페이스에 접근하는 것을 제어해야 하는가 ?  해결 : 클래스의 생성자를 public 으로 정의하지 말고 private 이나 protected 로 선언해 외 부에서 생성자를 이용해 객체를 일단 생성할 수 없게 만들고 ( 이하 생략 ). 5 싱글톤 패턴

GoF 디자인 패턴  GoF(Gang of Four)  감마 / 리차드 헬름 / 랄프 존슨 / 존 블리시디시  생성 패턴 : 객체의 생성에 관련된 패턴  구조 패턴 : 클래스를 조합해 더 큰 구조를 만드는 패턴  행위 패턴 : 알고리즘이나 책임의 분배에 관한 패턴 6

4.3 UML 과 디자인 패턴  컬레보레이션을 통해 디자인 패턴 기술  역할들의 상호작용을 추상화 7

컬레보레이션 어커런스 8

순차 다이어그램  객체들 사이의 메시지 송신과 그들의 순서 9

메시지 10

체크포인트  그림 4-8 의 순차 다이어그램에 해당하는 코드를 작성하라.  다음 순차 다이어그램에 해당하는 코드를 작성하라. 11

프레임 12

상호작용 13

alt 14

loop 15

순차 다이어그램과 클래스 다이어그램 16