시스템 <1>
[Clean Code] 11장 시스템
- 시스템 제작과 시스템 사용을 분리하라 public Service getService() { if (service == null) { service = new MyServiceImpl(...) } return service; } 위 코드는 초기화 지연(Lazy Initialization), 계산 지연(Lazy Evaluation)이라는 기법이다. 장 : 실제로 필요할 때까지 객체를 생성하지 않음 (부하 감소), 어떤 경우에도 null 포인터를 반환하지 않음 단 : getService 함수가 MyServiceImpl과 생성자 인수에 의존한다. 테스트시에 테스트 전용 객체가 필요하다. 런타임 로직에 객체 생성 로직이 있기 때문에 service가 null인 경우와 null이 아닌 경우를 모두 테스트해야 한다..
프로그래밍/클린코드
2020. 6. 8. 10:13
Copyright ⓒ dub All Rights Reserved.