"Patterns always have two parts: the how and the when"
개론
Engineering
- 엔지니어링은 주어진 자원과 과학을 이용해서 문제를 해결하기 위한 것
- 자원을 고려한다
- 이론을 이용하되 매몰되지는 말자
Pattern
- 알려진 문제의 일반적이고 재사용할 수 있는 해결법
- 프로그래머는 고유한 문제를 풀어야한다.
- 고유한 문제는 좀 더 작은 하위 기술 문제를 가진다.
- 이 작은 기술 문제들 중 많은 일부는 과거 어디에 선가 여러번 반복되고 해결된 적이 있다.
코드 기능 명세
도메인
- 소프트웨어는 문제를 푸는 도구
- 도메인은 소프트웨어가 풀어야 할 문제가 정의되는 공간
- 문제를 충분히 히해하지 못하면 문제를 푸는 도구를 잘 만들수 없다.
프로그래머의 역할