Pattern Writing
Upcoming SlideShare
Loading in...5
×

Like this? Share it with your network

Share

Pattern Writing

  • 1,235 views
Uploaded on

패턴 라이팅 하는 방법

패턴 라이팅 하는 방법

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
No Downloads

Views

Total Views
1,235
On Slideshare
1,235
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
5
Comments
0
Likes
1

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

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. 패턴 공유