TIL (Today I Learned)
2022.05.19
오늘 읽은 범위
관심사 분리
초기화 지연Lazy Initialization (계산 지연Lazy Evaluation) 기법
Main 분리
애플리케이션은 main이나 객체가 생성되는 과정을 전혀 모른다.
오늘 주어진 사용자 스토리에 맞춰 시스템을 구현해야 한다. 내일은 새로운 스토리에 맞춰 시스템을 조정하고 확장하면 된다.
⇒ 이것이 반복적이고 점진적인 애자일 방식의 핵심.
자바 프록시
POJO 장점
테스트 주도 시스템 아키텍처 구축
BDUF (Big Design Up Front) → Not GOOD.
‘아주 단순하면서도’ 멋지게 분리된 아키텍처로 소프트웨어 프로젝트를 진행해 결과물을 재빨리 출시한 후, 기반 구조를 추가하며 조금씩 확장해 나가도 괜찮다.
프로젝트를 시작시 생각할 것
의사 결정을 최적화하라
때때로 가능한 마지막 순간까지 결정을 미루는 방법이 최선이다.
관심사를 모듈로 분리한 POJO 시스템은 기민함을 제공한다.
시스템은 도메인 특화 언어가 필요하다.
Java 관련 배경지식이 이 챕터를 이해하기에는 너-무 부족했었다. 모르는 것들 검색하면서 읽는시간 절반이상 쓴 것 같다. (휴.. 🤷♀️) 그중에서도 관점이라는 개념이 잘 와닿지 않아서 애먹었는데, 이해 될까 하다가도 뒤돌면 다시 까먹는것 같다.. 😹
이번 주 읽은 부분에서는 기민성, 지엽적, 창발.. 라는 단어가 나왔었는데, IT랑 전혀 상관없는 단어가 오히려 더 이해가 안됬다. 개발 공부하려면 국어공부도 같이 해야되나보다. (0개국어설..)
관점 지향 프로그래밍 AOP, Aspect-Oriented Programming
횡단관심: 로깅, 보안, 트랜잭션 등등 다수의 모듈에서 반복적으로 나타나는 부분.
참고: https://expert0226.tistory.com/200 [여름나라겨울이야기]
관심사 분리 (SOC, separation of concerns)
기민성, 기민함 in 시스템
지엽적인 관리
: 소스코드 중에서 비즈니스 로직 상 중요한 거랑 아닌거랑 나뉘는거.