패턴 라이팅
손영수
arload@live.com

EvaCast 리더
http://www.evacast.net
데브피아 아키텍쳐 시삽

Blog - 아키텍트로 가는 길.
http://www.arload.net
오늘 나눌 이야기 거리들.

 패턴


 패턴의 구성 요소


 패턴 라이팅 방법
1.
패턴이란?
Pattern
  is
Father
우리는 아버지와 비슷한
생김새, 성격, 습관 등을
가지고 있다.
이미 해결한 문제와
유사한 문제들은..

유사한 방법(패턴)으로
해결 할 수 있다.
패턴의 아버지…
CHRISTOPHER ALEXANDER
패턴은.
The pattern is, in short, at the same time a thing,
which happens in the world,
and the rule which tells us how to cr...
패턴은 3개의 룰을 가진다.

              Solution




    Context


                    Problem
이건 패턴이 아니에요!!
 간단한 해결책 (X)

 간단한 룰 (X)

 알고리즘 (X)

 데이터 구조 (X)
패턴은 ~해야만 한다!!
문제 해결을 위한
 짂실(facts)을 제공
  해야만 한다..
해결책을 투명하게
  나타내야 한다…
전문가의 경험을
잘 잡아낸
좋은 스토리로
말해야 한다..
기존 시스템을
이해하는데 도움이
되어야 한다..
심지어.
새로운 시스템을 구축하는데도
도움이 되어야 한다..
그럼..
어떻게 패턴을 만들어야 할까?

해답은???
2.
패턴의
구성 요소
Title
                  (Name / Alias)
  Resulting
                                     Context
  Context

  Sketch/      ...
Name (Title)




  Name을 정할 땐..
  신중히 정해라!!
좋은 이름은
Communication을 향상 시킨다.
이름만 듣고도,
의미를 파악할 수 있으면 Good!!

Observer 와
Publisher – Subscriber중
어느 것이 직관적인가?
패턴은
무엇을 “Build” 하는 것이다.

무엇을 “Build”하는지
말할 수 있어야만 한다!!
이름 짖는 방법
 명사
  Corporate Sponsor
  Model View Controller


 동사
  Do Food
  Ask for Help


 매력 있는 문장
  George Washi...
Aliases (별명)
좀더 이해를 돕기 위해서!

가능하다면
별명도 지어라..
어머니의
재미난 조언..
길고
        짧은 건
못 올라갈   대봐야
  나무는   앆다.
쳐다 보지
  말아라
해결책 (조언)은 알았는데..
언제 이 조언을 사용하지?
어머니의 조언에서
  빠진 것은?

 Context
결과보다
  어떤 상황에서
이 패턴을 적용하는지
  아는 것이 중요.
CONTEXT 에 기술할 것들.

 문제가 어떤 상황에 존재하는 가?

 연관 있는 선행조건 (precondition)은?

 Target Audience - 누굴 위한 패턴인가
CONTEXT 에 기술할 것들..
 지금 패턴을 이해하는데
   도움이 되는 다른 패턴들은?

 여러분이 변경하거나 제어할 수 없는
 시스템의 제약 사항은 다 기술해라.
  언어제약
  메모리 제약
  사이즈,...
Forces
 무엇이 이 문제를 어렵게 만드는가?


 Tradeoff는 무엇인가?


 왜 뻔한 해결책으로는 충분하지 못하지?


 우리가 약간 Control할 수 있는 시스템의 제약
 상황은?
Forces를 통해
긴장감을 조성해라.
새로운 패턴에 관해
흥미를 느끼게 만들기도 하고,

패턴이 가진 제약도 명시해라!
Problems.
Problems

 해결 할 수 있는 문제는 무엇인가?

 Context를 기반으로,
 특정상황에 적합한 문제를 만들어라.
  범용적인 문제를 기술해서는 앆 된다.
Solution
Solutions
 문제를 해결하기 위한 제앆한 방법을 기술
   구체적이어야 한다.


 Context에 의해 결정되어지는
   중요한 Force들 중심으로 해결해라.
   다른 Force들은 무시해라!


...
Resulting Context
Resulting Context
 이 패턴을 적용해 문제를 해결하면?

  그 이후에 어떤 상황이 발생하는 가?


  장, 단점을 기술해라!


  새로운 문제(Side Effect)는 발생되지 않는가?
   ...
Sketch
Sketch
 다이어그램을 그릴 수 없으면, 패턴이 아니다.
  Christopher Alexander.


 Sketch란 무엇인가?
  패턴 독자에게 IDEA를 쉽게 전달하기 위한 아무거나.
    UML ...
Other Sessions
 Rationale (이론적 해석)
   패턴을 팔아라. 독자를 쉽게 가르쳐라!
 Sample Code
 Related Patterns
 Known Implementations ( K...
3. 패턴 라이팅
Opinions
          Solutions
Problem
                      Relations
Solution          opinion
                                     Solution
                                            opinio...
자 그럼
패턴 라이팅을
시작하세요!!!
4. 패턴 공유
Pattern Writing
Pattern Writing
Upcoming SlideShare
Loading in...5
×

Pattern Writing

1,317

Published on

패턴 워크샾에서 발표한 패턴 라이팅 발표자료.

Published in: Technology, Sports
0 Comments
2 Likes
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,317
On Slideshare
0
From Embeds
0
Number of Embeds
4
Actions
Shares
0
Downloads
21
Comments
0
Likes
2
Embeds 0
No embeds

No notes for slide

Pattern Writing

  1. 1. 패턴 라이팅
  2. 2. 손영수 arload@live.com EvaCast 리더 http://www.evacast.net 데브피아 아키텍쳐 시삽 Blog - 아키텍트로 가는 길. http://www.arload.net
  3. 3. 오늘 나눌 이야기 거리들.  패턴  패턴의 구성 요소  패턴 라이팅 방법
  4. 4. 1. 패턴이란?
  5. 5. Pattern is Father
  6. 6. 우리는 아버지와 비슷한 생김새, 성격, 습관 등을 가지고 있다.
  7. 7. 이미 해결한 문제와 유사한 문제들은.. 유사한 방법(패턴)으로 해결 할 수 있다.
  8. 8. 패턴의 아버지… CHRISTOPHER ALEXANDER
  9. 9. 패턴은. The pattern is, in short, at the same time a thing, which happens in the world, and the rule which tells us how to create that thing, and when we must create it. It is both a process and a thing; both a description of a thing which is alive, and a description of the process which will generate that thing.”
  10. 10. 패턴은 3개의 룰을 가진다. Solution Context Problem
  11. 11. 이건 패턴이 아니에요!!
  12. 12.  간단한 해결책 (X)  간단한 룰 (X)  알고리즘 (X)  데이터 구조 (X)
  13. 13. 패턴은 ~해야만 한다!!
  14. 14. 문제 해결을 위한 짂실(facts)을 제공 해야만 한다..
  15. 15. 해결책을 투명하게 나타내야 한다…
  16. 16. 전문가의 경험을 잘 잡아낸 좋은 스토리로 말해야 한다..
  17. 17. 기존 시스템을 이해하는데 도움이 되어야 한다..
  18. 18. 심지어. 새로운 시스템을 구축하는데도 도움이 되어야 한다..
  19. 19. 그럼.. 어떻게 패턴을 만들어야 할까? 해답은???
  20. 20. 2. 패턴의 구성 요소
  21. 21. Title (Name / Alias) Resulting Context Context Sketch/ Statement Author Info. of Problem Resolution Forces
  22. 22. Name (Title) Name을 정할 땐.. 신중히 정해라!!
  23. 23. 좋은 이름은 Communication을 향상 시킨다.
  24. 24. 이름만 듣고도, 의미를 파악할 수 있으면 Good!! Observer 와 Publisher – Subscriber중 어느 것이 직관적인가?
  25. 25. 패턴은 무엇을 “Build” 하는 것이다. 무엇을 “Build”하는지 말할 수 있어야만 한다!!
  26. 26. 이름 짖는 방법  명사  Corporate Sponsor  Model View Controller  동사  Do Food  Ask for Help  매력 있는 문장  George Washington is still Dead
  27. 27. Aliases (별명) 좀더 이해를 돕기 위해서! 가능하다면 별명도 지어라..
  28. 28. 어머니의 재미난 조언..
  29. 29. 길고 짧은 건 못 올라갈 대봐야 나무는 앆다. 쳐다 보지 말아라
  30. 30. 해결책 (조언)은 알았는데.. 언제 이 조언을 사용하지?
  31. 31. 어머니의 조언에서 빠진 것은? Context
  32. 32. 결과보다 어떤 상황에서 이 패턴을 적용하는지 아는 것이 중요.
  33. 33. CONTEXT 에 기술할 것들.  문제가 어떤 상황에 존재하는 가?  연관 있는 선행조건 (precondition)은?  Target Audience - 누굴 위한 패턴인가
  34. 34. CONTEXT 에 기술할 것들..  지금 패턴을 이해하는데 도움이 되는 다른 패턴들은?  여러분이 변경하거나 제어할 수 없는 시스템의 제약 사항은 다 기술해라.  언어제약  메모리 제약  사이즈, 범위  타이밍
  35. 35. Forces  무엇이 이 문제를 어렵게 만드는가?  Tradeoff는 무엇인가?  왜 뻔한 해결책으로는 충분하지 못하지?  우리가 약간 Control할 수 있는 시스템의 제약 상황은?
  36. 36. Forces를 통해 긴장감을 조성해라.
  37. 37. 새로운 패턴에 관해 흥미를 느끼게 만들기도 하고, 패턴이 가진 제약도 명시해라!
  38. 38. Problems.
  39. 39. Problems  해결 할 수 있는 문제는 무엇인가?  Context를 기반으로, 특정상황에 적합한 문제를 만들어라.  범용적인 문제를 기술해서는 앆 된다.
  40. 40. Solution
  41. 41. Solutions  문제를 해결하기 위한 제앆한 방법을 기술  구체적이어야 한다.  Context에 의해 결정되어지는  중요한 Force들 중심으로 해결해라.  다른 Force들은 무시해라!  Target Audience를 계속 고려해라.
  42. 42. Resulting Context
  43. 43. Resulting Context  이 패턴을 적용해 문제를 해결하면?  그 이후에 어떤 상황이 발생하는 가?  장, 단점을 기술해라!  새로운 문제(Side Effect)는 발생되지 않는가?  그럼 이 문제를 해결하기 위한 방법들도 기술해라.
  44. 44. Sketch
  45. 45. Sketch  다이어그램을 그릴 수 없으면, 패턴이 아니다.  Christopher Alexander.  Sketch란 무엇인가?  패턴 독자에게 IDEA를 쉽게 전달하기 위한 아무거나.  UML Diagrams  Block Diagram  Image of concrete example  어려운 일은 아니지만, 가치 있는 일이다!!.
  46. 46. Other Sessions  Rationale (이론적 해석)  패턴을 팔아라. 독자를 쉽게 가르쳐라!  Sample Code  Related Patterns  Known Implementations ( Known Use)  References
  47. 47. 3. 패턴 라이팅
  48. 48. Opinions Solutions Problem Relations
  49. 49. Solution opinion Solution opinion Problem Context Solution Name/ Aliases Problem
  50. 50. 자 그럼 패턴 라이팅을 시작하세요!!!
  51. 51. 4. 패턴 공유
  1. ¿Le ha llamado la atención una diapositiva en particular?

    Recortar diapositivas es una manera útil de recopilar información importante para consultarla más tarde.

×