책책책 책을 읽읍시다‼ ver.개발/[ 클린코드 ]
[클린코드] 22일차. 198-205pg | 시스템 확장
D269
2023. 9. 28. 10:04
728x90
22일차.
클린코드[4주차_ 목요일]
198-205pg
#요약
11. 시스템
1) 도시를 세운다면?
2) 시스템 제작과 시스템 사용을 분리하라.
가. Main 분리 : 시스템 생성과 시스템 사용을 분리하는 한 방법.
나. 팩토리
다. 의존성 주입 : 사용과 제작은 분리하는 강력한 메커니즘 하나. 의존성 관리 맥락에서 객체는 의존성 자체를 인스턴스로 만드는 책임은 지지 않고 이런 책임을 다른 '전담' 메커니즘에 넘겨야만 한다. 그렇게 제어를 역전한다.
3) 확장
- 소프트웨어 시스템은 '수명이 짧다'는 본질로 인해 아키텍처의 점진적인 발전이 가능하다.
가. 횡단(cross-cutting) 관심사 : 원론적으로는 모듈화되고 캡슐화된 방식으로 영속성 방식을 구상할 수있는데 현실적으로는 영속성 방식을 구현한 코드가 온갖 객체로 흩어진다. 횡단 관심사는 영속성 프레임워크도 모듈화할 수 있고, 도메인 논리도 모듈화할 수 있다.
* 자바에서 사용하는 관점 or 관점과 유사한 메커니즘 3개
a. 자바 프록시 : 자바 프록시는 개별 객체나 클래스에서 메서드 호출을 감싸는 경우처럼 단순한 상황에 적합하다.
코드의 양과 크기는 프록시의 단점이다. 프록시는 시스템 단위로 실행 지점을 명시하는 메커니즘을 제공하지 않는다.
b. 순수 자바 AOP 프레임워크
728x90
반응형