Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
Change Language
Language
English
Español
Português
Français
Deutsche
Cancel
Save
Submit search
EN
Uploaded by
진화 손
PDF, PPTX
4,112 views
디자인패턴
헤드퍼스트 디자인패턴 책의 내용을 일부 요약했습니다
Software
◦
Read more
12
Save
Share
Embed
Embed presentation
Download
Download as PDF, PPTX
1
/ 66
2
/ 66
3
/ 66
4
/ 66
5
/ 66
6
/ 66
7
/ 66
8
/ 66
Most read
9
/ 66
10
/ 66
11
/ 66
12
/ 66
13
/ 66
14
/ 66
15
/ 66
16
/ 66
17
/ 66
18
/ 66
19
/ 66
20
/ 66
Most read
21
/ 66
22
/ 66
23
/ 66
Most read
24
/ 66
25
/ 66
26
/ 66
27
/ 66
28
/ 66
29
/ 66
30
/ 66
31
/ 66
32
/ 66
33
/ 66
34
/ 66
35
/ 66
36
/ 66
37
/ 66
38
/ 66
39
/ 66
40
/ 66
41
/ 66
42
/ 66
43
/ 66
44
/ 66
45
/ 66
46
/ 66
47
/ 66
48
/ 66
49
/ 66
50
/ 66
51
/ 66
52
/ 66
53
/ 66
54
/ 66
55
/ 66
56
/ 66
57
/ 66
58
/ 66
59
/ 66
60
/ 66
61
/ 66
62
/ 66
63
/ 66
64
/ 66
65
/ 66
66
/ 66
More Related Content
PDF
[NDC2017] 딥러닝으로 게임 콘텐츠 제작하기 - VAE를 이용한 콘텐츠 생성 기법 연구 사례
by
Hwanhee Kim
PPTX
CUDA를 게임 프로젝트에 적용하기
by
YEONG-CHEON YOU
PDF
UX workshop
by
Peter van Lanschot
PDF
Workshop • UX design •
by
Suzi Sarmento
PDF
UX Prototyping (UXiD) - Slide by Anton Chandra and Bahni Mahariasha
by
Anton Chandra
PDF
UX? WTF? - Intro To User Experience Design Pt. 1
by
Sebastian Tory-Pratt
DOC
Poetry scrapbook project
by
DupingLoves2Share
PPT
[0820 석재호]headfirst디자인패턴
by
Jaeho Seok
[NDC2017] 딥러닝으로 게임 콘텐츠 제작하기 - VAE를 이용한 콘텐츠 생성 기법 연구 사례
by
Hwanhee Kim
CUDA를 게임 프로젝트에 적용하기
by
YEONG-CHEON YOU
UX workshop
by
Peter van Lanschot
Workshop • UX design •
by
Suzi Sarmento
UX Prototyping (UXiD) - Slide by Anton Chandra and Bahni Mahariasha
by
Anton Chandra
UX? WTF? - Intro To User Experience Design Pt. 1
by
Sebastian Tory-Pratt
Poetry scrapbook project
by
DupingLoves2Share
[0820 석재호]headfirst디자인패턴
by
Jaeho Seok
Similar to 디자인패턴
PPTX
Head first디자인패턴 1~13_희민_호준
by
HoJun Sung
PPTX
디자인패턴 1~13
by
Shin heemin
PDF
게임 개발에 자주 사용되는 디자인 패턴
by
예림 임
PDF
Design Pattern Introduction
by
Bill Kim
PDF
헤드퍼스트 디자인패턴 - 어댑터, 퍼사드
by
진화 손
PPTX
Factory method
by
cancan21st
PPTX
팩토리 메소드 패턴과 추상 팩토리 패턴
by
GeniusYG
PPTX
[Dev rookie]designpattern
by
대영 노
PDF
HolubOnPatterns/chapter2_2
by
SeungHyun Hwang
PPTX
Design patterns
by
Joshua Yoon
PDF
Software pattern
by
scor7910
ODP
Design Pattern 3
by
Daniel Lim
PDF
[Swift] Factory
by
Bill Kim
PDF
Gpg 1.1
by
Nam Hyeonuk
PDF
[GPG 스터디] 1.1 객체지향적 프로그래밍과 설계기법
by
Sehyeon Nam
PDF
백엔드 스터디 4주
by
Chi Hwan Choi
PDF
190311 factory
by
Hyeon-Woo Sa
PPTX
Abstract factory pattern
by
minjin00
PPTX
Design patterns
by
df
PDF
GPG 1.1 객체지향적 프로그래밍과 설계기법
by
Taeung Ra
Head first디자인패턴 1~13_희민_호준
by
HoJun Sung
디자인패턴 1~13
by
Shin heemin
게임 개발에 자주 사용되는 디자인 패턴
by
예림 임
Design Pattern Introduction
by
Bill Kim
헤드퍼스트 디자인패턴 - 어댑터, 퍼사드
by
진화 손
Factory method
by
cancan21st
팩토리 메소드 패턴과 추상 팩토리 패턴
by
GeniusYG
[Dev rookie]designpattern
by
대영 노
HolubOnPatterns/chapter2_2
by
SeungHyun Hwang
Design patterns
by
Joshua Yoon
Software pattern
by
scor7910
Design Pattern 3
by
Daniel Lim
[Swift] Factory
by
Bill Kim
Gpg 1.1
by
Nam Hyeonuk
[GPG 스터디] 1.1 객체지향적 프로그래밍과 설계기법
by
Sehyeon Nam
백엔드 스터디 4주
by
Chi Hwan Choi
190311 factory
by
Hyeon-Woo Sa
Abstract factory pattern
by
minjin00
Design patterns
by
df
GPG 1.1 객체지향적 프로그래밍과 설계기법
by
Taeung Ra
More from 진화 손
PDF
C++20 Coroutine
by
진화 손
PDF
C++ 20 Unevaluated asm-declaration in constexpr functions
by
진화 손
PDF
[C++ 20][P0325R4] std::to_array() 내용 정리.
by
진화 손
PDF
C++20 std::execution::unseq.pdf
by
진화 손
PDF
C++20 Utility functions to implement uses-allocator construction
by
진화 손
PDF
C++ 20 std__reference_wrapper for incomplete types
by
진화 손
PDF
C++20 std::map::contains
by
진화 손
PPTX
C++20 constexpr default constructor of std::atomic and std::atomic_flag
by
진화 손
PDF
C++ 20 Relaxing the range-for loop customization point finding rules
by
진화 손
PDF
C++20 Remove std::weak_equality and std::strong_equality.pdf
by
진화 손
PPTX
[C++ 20] [P1035R7] Input range adaptors.
by
진화 손
PDF
C++ 20 Make stateful allocator propagation more consistent for operator+(basi...
by
진화 손
PDF
C++ 20 Relaxing the structured bindings customization point finding rules
by
진화 손
PPTX
[C++ 20] [P0645R10] Text formatting 내용 정리
by
진화 손
PDF
C++ 20 class template argument deduction for alias templates
by
진화 손
PDF
C++ 20 Efficient access to std::basic_stringbuf’s buffer
by
진화 손
PDF
C++20 Concepts library
by
진화 손
PDF
C++20 Comparing unordered containers
by
진화 손
PDF
C++20 explicit(bool)
by
진화 손
PDF
C++ 20 Stronger Unicode requirements
by
진화 손
C++20 Coroutine
by
진화 손
C++ 20 Unevaluated asm-declaration in constexpr functions
by
진화 손
[C++ 20][P0325R4] std::to_array() 내용 정리.
by
진화 손
C++20 std::execution::unseq.pdf
by
진화 손
C++20 Utility functions to implement uses-allocator construction
by
진화 손
C++ 20 std__reference_wrapper for incomplete types
by
진화 손
C++20 std::map::contains
by
진화 손
C++20 constexpr default constructor of std::atomic and std::atomic_flag
by
진화 손
C++ 20 Relaxing the range-for loop customization point finding rules
by
진화 손
C++20 Remove std::weak_equality and std::strong_equality.pdf
by
진화 손
[C++ 20] [P1035R7] Input range adaptors.
by
진화 손
C++ 20 Make stateful allocator propagation more consistent for operator+(basi...
by
진화 손
C++ 20 Relaxing the structured bindings customization point finding rules
by
진화 손
[C++ 20] [P0645R10] Text formatting 내용 정리
by
진화 손
C++ 20 class template argument deduction for alias templates
by
진화 손
C++ 20 Efficient access to std::basic_stringbuf’s buffer
by
진화 손
C++20 Concepts library
by
진화 손
C++20 Comparing unordered containers
by
진화 손
C++20 explicit(bool)
by
진화 손
C++ 20 Stronger Unicode requirements
by
진화 손
디자인패턴
1.
Design Patterns 데브루키 스터디 발표자
느루
2.
이 피피티는 Head
First Design Patterns 책을 참고하여 만들었습니다
3.
활용 예는 부적절할
수도 있습니다
4.
디자인 패턴이란? - 과거의
소프트웨어 개발 과정에서 발견된 설계의 노하우를 정리하여 이름을 붙인 것 - 자주 발생하는 문제에 대한 검증된 해결책을 의미한다
5.
디자인 패턴을 사용하는
이유 여러 사람들에 의해서 검증된 방법
6.
디자인 패턴을 사용하는
이유 복잡한 구조를 한 단어로 정의함으로써 의사소통을 효율적으로 할 수 있다 A : 노랗고 동그랗고 안경을 낀데다가 바나나를 좋아하는 캐릭터가 말이죠… B : 미니언이요?
7.
목차 - Strategy - Observer -
Decorator - Factory Method - Abstract Factory - Singleton - Command
8.
샘플코드 https://github.com/include8/HFDP
9.
Strategy 패턴
10.
Strategy 패턴 - 알고리즘을
캡슐화하여 교체하여 사용 할 수 있도록 한 구조 - 알고리즘 인터페이스를 정의하고 인터페이스를 상속받은 클래스에 알고리즘을 구현하여 캡슐화 - 알고리즘을 사용할 클래스에 인터페이스를 포함시킨다
11.
Strategy 패턴
12.
Strategy 패턴 예제
13.
Strategy 패턴 예제 이후에
이 프로그래머가 C++ 클라이언트 프로그래머로 바뀌어야 한다면?
14.
Strategy 패턴 예제
15.
Strategy 패턴 예제
16.
Strategy 패턴 예제
17.
Strategy 패턴의 장단점 -
상속으로 해결 할 수 없는 코드 중복이나 객체의 실시간 알고리즘의 변경 시에 유용하다 - 신규 알고리즘 추가, 수정이 용이하다 - OPP 디자인적인 관점에 맞지 않다
18.
Strategy 패턴, 언제
사용할까? - 게임 룰을 모드 별로 다르게 적용하고 싶을 때 - 상황에 따라 길찾기 알고리즘을 바꾸고 싶을 때
19.
Observer 패턴
20.
Observer 패턴 - 객체의
상태변화를 관찰하는 관찰자들을 객체가 가지고 있다가 상태변화가 있을 시 통지하는 패턴 - 일대다(one-to-many) 의존성을 정의한다
21.
Observer 패턴
22.
Observer 패턴 예제 이때
구독자의 종류와 수를 자유롭게 추가하고자 하려면?
23.
Observer 패턴 예제
24.
Observer 패턴 예제
25.
Observer 패턴 예제
26.
Observer 패턴 장단점 -
느슨한 결합으로 옵저버가 추가되어도 주제 객체는 수정을 하지 않아도 된다 - 구독을 취소하는 동안에는 통지를 받을 수 없다
27.
Observer 패턴, 언제
사용할까? - GUI - 채팅 프로그램
28.
Decorator 패턴
29.
Decorator 패턴 - 객체에
추가적인 요건을 동적으로 첨가하는 패턴 - 기본 클래스의 서브 클래스를 구성하여 생성시 상속받은 클래스를 넘겨서 확장할 수 있도록 함
30.
Decorator 패턴
31.
Decorator 패턴 예제 손님이
즉석에서 원하는 재료로 피자를 주문하기를 원한다면?
32.
Decorator 패턴 예제
33.
Decorator 패턴 예제
34.
Decorator 패턴 예제
35.
Decorator 패턴 장단점 -
동적으로 클래스 확장이 가능하다 - 잡다한 클래스들이 많아질 수 있다 - 데코레이터로싸인 객체를 알기 힘들다
36.
Decorator 패턴, 언제
사용할까? - 자바 I/O
37.
Factory 패턴
38.
Factory 패턴 - 객체
생성을 캡슐화한 패턴 - 객체 생성작업과 사용작업을 분리시켜준다
39.
Factory Method 패턴 -
객체 생성을 담당하는 인터페이스를 만들어서 그 인터페이스를 상속받은 클래스에서 객체생성을 구현
40.
Factory Method 패턴
41.
Factory Method 패턴
예제
42.
Abstract Factory 패턴 -
팩토리 인터페이스를 만듬으로써 사용자가 구상클래스에 의존하지 않고 객체를 생성할 수 있도록 해준다
43.
Abstract Factory 패턴
예제
44.
Abstract Factory 패턴
예제
45.
Factory 패턴 장단점 -
새로운 객체가 추가되더라도 소스의 수정이 없다 - 객체 생성을 한 군데서 하는 이상 동일한 생성을 보장한다 - 생성하는 객체의 양이 적다면 코드를 복잡하게 만들 수 있다
46.
Factory 패턴, 언제
사용할까? - 객체를 동적으로 생성 할 때
47.
Singleton 패턴 https://youtu.be/nGB1ccGf2HA?t=57s
48.
Singleton 패턴 - 프로그램
내에서 인스턴스가 하나만 존재해야하고 어디에서든 인스턴스에 접근할 수 있도록 해주는 패턴
49.
Singleton 패턴
50.
Singleton 패턴 예제
51.
Singleton 패턴 장단점 -
객체 생성 횟수를 줄일 수 있다 - 전역변수와 달리 사용하기 전까지 객체가 생성되지 않는다 - 멀티 스레드 환경에서 사용시 동기화를 보장해주지 않는다
52.
Singleton 패턴, 언제
사용할까? - 로그기록 객체 - 유저 매니저 - 데이터 테이블정보를 저장하는 클래스
53.
Command 패턴
54.
Command 패턴 - 요청을
객체의 형태로 캡슐화한 패턴 - 서로 요청이 다른 사용자의 매개변수, 요청 저장, 로깅, 연산 취소를 지원한다
55.
Command 패턴
56.
Command 패턴 예제
57.
Command 패턴 예제 캐릭터의
액션 내역을 저장해서 되돌리고 싶다면?
58.
Command 패턴 예제
59.
Command 패턴 예제
60.
Command 패턴 예제
61.
Command 패턴 장단점 -
작업을 요청하는 객체와 실제 작업을 하는 객체를 분리 시킨다 - 다양한 요구를 쉽게 추가할 수 있다 - 자잘한 클래스가 많이 생성된다
62.
Command 패턴, 언제
사용할까? - 편집기의 실행취소 기능
63.
번외 패턴은 다른 패턴과
함께 사용하기도 합니다
64.
Singleton Factory 패턴 예제
65.
출처 - 헤드 퍼스트
디자인 패턴 (한빛미디어) - http://hongjinhyeon.tistory.com/ - http://tiboy.tistory.com/ - http://zetawiki.com/wiki/ - https://en.wikipedia.org - http://gameprogrammingpatterns.com/ - 기타 등등..
66.
Q & A
Download