Presentation is loading. Please wait.

Presentation is loading. Please wait.

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

Similar presentations


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

1 4. 디자인패턴

2 학습목표 2

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

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

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

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

8 컬레보레이션 어커런스 8

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

10 메시지 10

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

12 프레임 12

13 상호작용 13

14 alt 14

15 loop 15

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


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

Similar presentations


Ads by Google