디자인 패턴 UML II Group 유래성, 김윤환, 박성운. 도입  경험치가 높은 개발자 vs 경험치가 낮은 개발자  목적  사람들이 사용할 수 있는 / 하고 있는 ‘ 폼 ’ 에서 설계 경험을 얻어 낸다.  디자인 패턴엔 무엇인가 새로운 것이 있나 ?

Slides:



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

E-1 설계 패턴 정리. E-2 GoF Pattern Catalog Creational Patterns –Abstract Factory –Prototype –Singleton –Factory Method –Builder Structural Patterns –Adapter.
A-1 A. 설계 패턴 (Design Pattern) 소개. A-2 설계 패턴이란 ? 설계패턴은 특정 문맥에서 일반적인 설계문제를 해결하도록 맞추어 진, 상호 협력하는 객체들과 클래스 들에 대한 기술 Design patterns are descriptions of communicating.
Java 로 배우는 디자인패턴 입문 Chapter 15. Facade 간단한 창구 덕성여자대학교 컴퓨터학부.
1. 회개와 영접 / 말씀구절 : 시편 51 편 10 절 “ 하나님이여 내 속에 정한 마음을 창조하시고 내 안에 정직한 영을 새롭게 하소서 ” 기도제목 / 이번 주간 말씀을 기억하며 살게 하소서 " 정의의 깃발을 들 때입니다.“
대표자명 / 연락처 / 이메일 ( 기 창업인 경우 회사 명칭 ) 지원하려는 사업 명칭 사업계획서 작성양식.
6.1 사용사례 6.2 객체 모델링 6.3 동적 모델링 6.4 시스템 설계 6.5 객체 설계 6.6 디자인 패턴
목 차 C# 언어 특징 .NET 프레임워크 C# 콘솔 프로그램 C# 윈도우 프로그램 실습 프로그래밍세미나 2.
캡스톤 디자인 이해경 조나라.
Oozie Web API 기능 테스트 이승엽.
4강. Servlet 맛보기 Servlet 문서 작성 하기 web.xml에 서블릿 맵핑 어노테이션을 이용한 서블릿 맵핑
최윤정 Java 프로그래밍 클래스 상속 최윤정
제 2 장 객체지향의 이해.
Ch.07-5 xml-rpc 사용하기 김상엽.
제 4 장 관계 학기 소프트웨어설계.
밥 파이크의 창의적 교수법.
Java로 배우는 디자인패턴 입문 Chapter 5. Singleton 단 하나의 인스턴스
컴퓨터 프로그래밍 기초 [Final] 기말고사
Internet Computing KUT Youn-Hee Han
JAVA 언어로 배우는 디자인 패턴 입문 chap. 1-2.
Chatpter 05 상위 설계 01 설계의 이해 02 설계의 원리 03 소프트웨어 아키텍처 04 디자인 패턴 요약 연습문제.
제9장 추상 데이터 타입 및 모듈 (Abstract Data Type & Module)
객체 지향 원리 송치형.
10장 객체-지향 프로그래밍 II ©창병모.
2장. UML 기본 개념.
Open Graphics Library 팀 명 : Spes 송정웅 김정환
프로그램 개발과 언어 Chapter 05 컴퓨터의 이해
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
Lesson 9. 예외처리.
C++ Programming: Sample Programs
자바 5.0 프로그래밍.
컴퓨터응용과학부 Java Enterprize(DB) 제 15 주
7장 인터페이스와 추상 클래스.
Method & library.
자바 5.0 프로그래밍.
1차 프로젝트 발표 GAME ENGINE 게임 공학과 이성진.
[예제] 의사결정나무 현재의 공장을 기술적 진부화에 대비하여 현대화하는 문제를 고려 중인 상태에서,
Technology Strategy : An Evolutionary Process Perspective
소프트웨어 공학 (Software Engineering)
Introduction to Programming Language
제 5 장 집합연관, 복합연관, 인터페이스, 실체화 (교재: J. Schmuller 저/곽용재 역, 초보자를 위한 UML 객체지향설계, 제3판, 정보문화사, 2006) 학기 소프트웨어설계.
Chapter3 : 객체지향의 개념 3.1 객체지향(object-oriented)과
Internet Computing KUT Youn-Hee Han
컴포넌트 다이어그램 컴포넌트 정의 컴포넌트 다이어그램의 UML 표기법 컴포넌트와 클래스 컴포넌트 다이어그램의 간단한 예
웹사이트 분석과 설계 (화면 설계) 학번: 성명: 박준석.
2D 게임프로그래밍 프로젝트 스틱 파이터 Stick Fighter 박하은.
기업회생 절차.
2. 윤리학의 원리와 적용 가. 상대주의와 절대주의.
18강. 인터페이스 – II - 인터페이스와 다중상속 - 인터페이스를 통한 로봇 장남감 만들기 프로그래밍
지도교수 : 안미정 교수님 사이버 경찰학과 김영훈
Signature, Strong Typing
학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성. 학습목표 처음 만드는 비주얼 베이직 프로그램 프로그램 실행과 실행 파일 생성.
UML과 객체지향 모델링 UML의 개요 객체지향 모델링.
Chapter 13 – 객체 지향 프로그래밍 Outline 13.1 소프트웨어의 재사용과 독립성
Level 0 Level 1 Level 2 Level 3 공모전 후기 모음 웹 서비스 1. 웹 페이지 설계 2. 웹 서버 구현
Signature, Strong Typing
1차 발표: 프로젝트 발표 안내 및 형식 학번: 이름: 김경우.
창 병 모 숙명여대 전산학과 자바 언어를 위한 CFA 창 병 모 숙명여대 전산학과
3. 모듈 (5장. 모듈).
김희정 Bridge Pattern.
발표자 : 이지연 Programming Systems Lab.
Component Diagram 1.
.Net FrameWork for Web2.0 한석수
2.가상머신의 탐험 도구, Oolong에 대하여 ps lab 김윤경.
학부 컴퓨터공학부 교육과정 (학부) 2학년 4학년 3학년 1학년 1학기 2학기 IPP 자격과정 전공트랙
29장. 템플릿과 STL 01_ 템플릿 02_ STL.
Java의 정석 제 7 장 객체지향개념 II-3 Java 정석 남궁성 강의
A programming environment for Ubiquitous Computing Environment
프로젝트 결과 발표 네트워크정보통신과 강동성 이현미.
Platform Builder 사용법.
Presentation transcript:

디자인 패턴 UML II Group 유래성, 김윤환, 박성운

도입  경험치가 높은 개발자 vs 경험치가 낮은 개발자  목적  사람들이 사용할 수 있는 / 하고 있는 ‘ 폼 ’ 에서 설계 경험을 얻어 낸다.  디자인 패턴엔 무엇인가 새로운 것이 있나 ?

4 대 요소  이름  문제  해결방법  결과

디자인 패턴  개별적인 상황에서 일반적인 설계 문제 를 해결하기 위해 맞춤된 오브젝트 혹은 클래스 간의 통신에대한 설명

디자인패턴의 분류  목적 – 무엇을 위해 패턴화되었는가  생성 (Creational)  구조 (Structural)  행동 (Behavioral)  범위 – 패턴이 적용된 대상  클래스, 오브젝트

디자인패턴의 분류 목적 생성구조행동 범위범위 클래 스 Factory MethodAdapter Interpreter Template Method 오브 젝트 Abstract Factory Builder Prototype Singletone Adapter Bridge Composite Decorator Facade Flyweight Proxy Chain of Responsibility Command Iterator Mediator Memento Observer State Strategy Visitor

디자인패턴의 문제해결 방법  적당한 오브젝트를 찾는다.  오브젝트 핵심을 결정한다.  오브젝트 인터페이스를 명확히한다.  오브젝트 구현을 명확히 한다.  재사용 매커니즘을 도입한다.  실행 - 컴파일시간별 구조를 연관시킨다.  수정에 대비하는 설계

디자인패턴의 문제해결 방법 적당한 오브젝트를 찾는다.  오브젝트  Composite  Strategy  State

디자인패턴의 문제해결 방법 오브젝트 핵심을 결정한다.  무엇이 오브젝트가 될것인가 ?  Fa ç ade,Flywieght  Abstract Factory,Builder  Visitor,Command

디자인패턴의 문제해결 방법 오 브젝트 인터페이스를 명확히 한다.  인터페이스  다형성  Memento  Decorator,Proxy,Visitor

디자인패턴의 문제해결 방법 오 브젝트 구현을 명확히한다.  클래스 vs 인터페이스 상속  Chain of Responsibility  Composite  Command,Observer,state,strategy  인터페이스를 프로그램한다.  Absract Factory,Builder,Factory Method, Prototype,Singleton

디자인패턴의 문제해결 방법 재 사용 매커니즘을 도입한다.  상속 vs 컴포지션  White-box 재사용  Black-box 재사용  위임 (Delegation)  State,Strategy,Visitor  Mediator,Chain of Responsibility, Bridge

디자인패턴의 문제해결 방법 실 행 - 컴파일시간별 구조를 연관시킨다.  집합연관, 연관  실행시간 구조  Composite, Decorator  컴파일시간 구조  Observer

디자인패턴의 문제해결 방법 수 정에 대비하는 설계  재설계의 요인  명시적으로 클래스에의한 오브젝트 생성  명기한 오퍼레이션에대한 종속  S/W,H/W 플래폼의 종속성  오브젝트 구현에대한 종속  알고리즘 종속  강한 결속력 (Tight Coupling)  서브클래싱에의한 기능확장  클래스를 쉽게 바꾸지 못함

디자인 패턴의 선택  패턴이 디자인 문제를 어떻게 해결하는 지 생각한다.  각 패턴의 의도를 확인하라.  패턴이 서로 연관되어 있는지 찾아봐라.  유사한 의도를 갖는 패턴을 찾아봐라.  재설계의 요인이 있는지 검사하라.  설계에서 가변적인것을 고려하라.

디자인 패턴의 변화 목적디자인 패턴변화하는 양상 생성 Abstract Fatory Builder Factory Method Prototype Singleton Families of product objects How a composite object gets created Subclass of object that is instantiated Class of object that is instantiated The sole instance of a class 구조 Adapter Bridge Composite Decorator Fa ç ade Flyweight Proxy Interface to an object Implementation of an object Structure and composition of an object Responsibilities of an object without subclassing Interface to a subsystem Storage costs of objects How an object is accessed; its location 행동 Chain of responsibility Command Interpreter Iterator Mediator Memento Observer State Strategy Template method Visitior Object that can fulfill a request When and how a request is fulfilled Grammar and interpretation of a language How an aggregate ’ s elements are accessed. Traversed How and which objects interact with each other What private information is stored outside an object, and when Number of objects that depend on another object; how the dependent objects stay up to date State of an object An algorithm Steps of an algorithm Operations that can be applied to object without changing their class