반응형
오늘 TIL 3줄 요약
- 시스템 역시 깨끗해야 한다.
- 모든 추상화 단계에서 의도는 명확히 표현해야 한다.
- 그러려면 POJO를 작성하고 관심사를 분리해야 한다.
TIL (Today I Learned)
2022.03.14
오늘 읽은 범위
11장. 시스템
책에서 기억하고 싶은 내용을 써보세요.
- 군락은 마을로, 마을은 도시로 성장한다. 처음에는 좁거나 사실상 없던 길이 포장되며 점차 넓어진다. 작은 건물과 공터는 큰 건물로 채워지고 결국 곳곳에 고층 건물이 들어선다. (p.199)
- '처음부터 올바르게' 시스템을 만들 수 있다는 믿음은 미신이다. 대신에 우리는 오늘 주어진 사용자 스토리에 맞춰 시스템을 구현해야 한다. 내일은 새로운 스토리에 맞춰 시스템을 조정하고 확장하면 된다. 이것이 반복적이고 점진적인 애자일 방식의 핵심이다. (p.199)
- POJO는 순수하게 도메인에 초점을 맞춘다. POJO는 엔터프라이즈 프레임워크에 (그리고 다른 도메인에도) 의존하지 않는다. 따라서 테스트가 개념적으로 더 쉽고 간단하다. 상대적으로 단순하기 때문에 사용자 스토리를 올바로 구현하기 쉬우며 미래 스토리에 맞춰 코드를 보수하고 개선하기 편하다. (p.206)
- 도메인 특화 언어(Domain-Specific Language, DSL)를 사용하면 고차원 정책에서 저차원 세부사항에 이르기까지 모든 추상화 수준과 모든 도메일을 POJO로 표현할 수 있다. (p.212~213)
- 마지막으로, 관심사를 관점으로 분리하는 가장 강력한 도구는 AspectJ 언어다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
- 처음부터 크게 지을 수 없다. 모든 것이 완벽할 수 없다.
- 도시가 커지면서 모든 것을 함께 수정해 나가야 한다.
- 인생도 이와 같다...
- 사실 유지하는 것이 제일 어렵지 않던가...
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
- POJO (Plain Old Java Object)
- 프록시
- DSL (Domain-Specific Language)
- AspectJ 언어
반응형
'노마드북클럽 > 클린코드' 카테고리의 다른 글
(외전) 📚 13장. 동시성 (0) | 2022.03.15 |
---|---|
(외전) 📚 12장. 창발성 (0) | 2022.03.14 |
✨ 타임스크립트를 위한 클린코드 - 한글 번역판 ✨ (0) | 2022.03.14 |
📚 10장. 클래스 (0) | 2022.03.08 |
📚 9장. 단위 테스트 (1) | 2022.03.05 |