Pattern Writing
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Pattern Writing

on

  • 1,176 views

패턴 라이팅 하는 방법

패턴 라이팅 하는 방법

Statistics

Views

Total Views
1,176
Views on SlideShare
1,176
Embed Views
0

Actions

Likes
1
Downloads
4
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Pattern Writing Presentation Transcript

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