SlideShare une entreprise Scribd logo
1  sur  10
디자인 패턴 소개  누군가 이미 우리들의 문제를 해결해 놓았습니다. 똑같은 문제를 경험하고, 그문제를 해결했던 다른 개발자들이 익혔던 지혜와 교훈을 활용하는 방법을 배운다. 이러한 패턴을 사용하는 가장 좋은 방법은 패턴을 머리 속에 집어 넣은 다음 자신의 디자인 및 기본 어플리케이션 어디에 적용할수 있는지 파악하는 것이다. 디자인 패턴은 코드를 재사용하는 것과 마찬가지로 경험을 재사용하는 것이다.
개발사례
추가요구사항
추가요구사항
소프트웨어 개발에 있어서 변하지 않는 것 ….  변 화 기존코드에 미치는 영향은 최소한으로 줄이면서 작업을 할 수 있도록 만들수 있는 방법이 있으면 좋겠죠?
디자인 원칙 #1.  애플리케이션에서 달라지는 부분을 찾아내고,  달라지지 않는 부분으로 분리시킨다.
디자인 원칙 #2.  구현이 아닌 인터페이스에 맞춰서 프로그래밍 한다.  인터페이스란?? 실행시에 쓰이는 객체가 코드에 의해서 고정되지 않고, 어떤 상위 형식에 맞춰서 프로그래밍함으로써 다형성을 활용해야 한다는 의미
디자인 원칙 #3.  상속보다는 구성(composition)을 활용한다.  Strategy pattern
디자인 패턴 도구들… 객체지향의 기초 추상화 캡슐화 다형성 상속 객체 지향의 원칙 바뀌는 부분은 캡슐화 상속보다는 구성을 활용 구현이 아닌 인터페이스 패턴 – Strategy  알고리즘 군을 정의하고, 각각의 캡슐화하여 변경가능하게
1장 디자인 패턴 소개

Contenu connexe

En vedette

C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)Dong Chan Shin
 
C#강좌
C#강좌C#강좌
C#강좌e12g
 
Scheduling request at random access
Scheduling request at random accessScheduling request at random access
Scheduling request at random accesscitylock
 
디자인 패턴(Observer, visitor)
디자인 패턴(Observer, visitor)디자인 패턴(Observer, visitor)
디자인 패턴(Observer, visitor)세빈 정
 
C# advanced topics and future - C#5
C# advanced topics and future - C#5C# advanced topics and future - C#5
C# advanced topics and future - C#5Peter Gfader
 
Hot Trend Lambda Expressions, Compare C# With Java
Hot Trend Lambda Expressions, Compare C# With JavaHot Trend Lambda Expressions, Compare C# With Java
Hot Trend Lambda Expressions, Compare C# With JavaDexter Jung
 
C#프로그래밍, 어떻게 시작하는가
C#프로그래밍, 어떻게 시작하는가C#프로그래밍, 어떻게 시작하는가
C#프로그래밍, 어떻게 시작하는가GukHwan Ji
 
디자인 패턴
디자인 패턴디자인 패턴
디자인 패턴수빈 박
 
NAVER D2 2014 돌아보기
NAVER D2 2014 돌아보기NAVER D2 2014 돌아보기
NAVER D2 2014 돌아보기NAVER D2
 
NDC2016 카툰999 포스트모템(피드백의 힘)
NDC2016 카툰999 포스트모템(피드백의 힘)NDC2016 카툰999 포스트모템(피드백의 힘)
NDC2016 카툰999 포스트모템(피드백의 힘)GukHwan Ji
 
객체지향 개념 (쫌 아는체 하기)
객체지향 개념 (쫌 아는체 하기)객체지향 개념 (쫌 아는체 하기)
객체지향 개념 (쫌 아는체 하기)Seung-June Lee
 
소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵중선 곽
 
Papago/N2MT 개발이야기
Papago/N2MT 개발이야기Papago/N2MT 개발이야기
Papago/N2MT 개발이야기NAVER D2
 

En vedette (17)

C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
C# / .NET Framework로 미래 밥그릇을 챙겨보자 (Basic)
 
핵심 프로세스 모델링 하기
핵심 프로세스 모델링 하기핵심 프로세스 모델링 하기
핵심 프로세스 모델링 하기
 
C#강좌
C#강좌C#강좌
C#강좌
 
Scheduling request at random access
Scheduling request at random accessScheduling request at random access
Scheduling request at random access
 
디자인 패턴(Observer, visitor)
디자인 패턴(Observer, visitor)디자인 패턴(Observer, visitor)
디자인 패턴(Observer, visitor)
 
C# advanced topics and future - C#5
C# advanced topics and future - C#5C# advanced topics and future - C#5
C# advanced topics and future - C#5
 
Hello, C# : OOP
Hello, C# : OOPHello, C# : OOP
Hello, C# : OOP
 
Hot Trend Lambda Expressions, Compare C# With Java
Hot Trend Lambda Expressions, Compare C# With JavaHot Trend Lambda Expressions, Compare C# With Java
Hot Trend Lambda Expressions, Compare C# With Java
 
Ch7 bpmn
Ch7 bpmnCh7 bpmn
Ch7 bpmn
 
C#프로그래밍, 어떻게 시작하는가
C#프로그래밍, 어떻게 시작하는가C#프로그래밍, 어떻게 시작하는가
C#프로그래밍, 어떻게 시작하는가
 
디자인 패턴
디자인 패턴디자인 패턴
디자인 패턴
 
NAVER D2 2014 돌아보기
NAVER D2 2014 돌아보기NAVER D2 2014 돌아보기
NAVER D2 2014 돌아보기
 
GoF의 디자인 패턴
GoF의 디자인 패턴GoF의 디자인 패턴
GoF의 디자인 패턴
 
NDC2016 카툰999 포스트모템(피드백의 힘)
NDC2016 카툰999 포스트모템(피드백의 힘)NDC2016 카툰999 포스트모템(피드백의 힘)
NDC2016 카툰999 포스트모템(피드백의 힘)
 
객체지향 개념 (쫌 아는체 하기)
객체지향 개념 (쫌 아는체 하기)객체지향 개념 (쫌 아는체 하기)
객체지향 개념 (쫌 아는체 하기)
 
소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵소프트웨어 개발자 로드맵
소프트웨어 개발자 로드맵
 
Papago/N2MT 개발이야기
Papago/N2MT 개발이야기Papago/N2MT 개발이야기
Papago/N2MT 개발이야기
 

1장 디자인 패턴 소개

  • 1. 디자인 패턴 소개 누군가 이미 우리들의 문제를 해결해 놓았습니다. 똑같은 문제를 경험하고, 그문제를 해결했던 다른 개발자들이 익혔던 지혜와 교훈을 활용하는 방법을 배운다. 이러한 패턴을 사용하는 가장 좋은 방법은 패턴을 머리 속에 집어 넣은 다음 자신의 디자인 및 기본 어플리케이션 어디에 적용할수 있는지 파악하는 것이다. 디자인 패턴은 코드를 재사용하는 것과 마찬가지로 경험을 재사용하는 것이다.
  • 5. 소프트웨어 개발에 있어서 변하지 않는 것 …. 변 화 기존코드에 미치는 영향은 최소한으로 줄이면서 작업을 할 수 있도록 만들수 있는 방법이 있으면 좋겠죠?
  • 6. 디자인 원칙 #1. 애플리케이션에서 달라지는 부분을 찾아내고, 달라지지 않는 부분으로 분리시킨다.
  • 7. 디자인 원칙 #2. 구현이 아닌 인터페이스에 맞춰서 프로그래밍 한다. 인터페이스란?? 실행시에 쓰이는 객체가 코드에 의해서 고정되지 않고, 어떤 상위 형식에 맞춰서 프로그래밍함으로써 다형성을 활용해야 한다는 의미
  • 8. 디자인 원칙 #3. 상속보다는 구성(composition)을 활용한다. Strategy pattern
  • 9. 디자인 패턴 도구들… 객체지향의 기초 추상화 캡슐화 다형성 상속 객체 지향의 원칙 바뀌는 부분은 캡슐화 상속보다는 구성을 활용 구현이 아닌 인터페이스 패턴 – Strategy 알고리즘 군을 정의하고, 각각의 캡슐화하여 변경가능하게