노마드북클럽/클린코드

(외전) 📚 11장. 시스템

햅삐한 포메라리안 2022. 3. 14. 12:36
반응형

오늘 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 언어
반응형