코드를 다시 보는 기준
- 코드에 중복된 부분은 없는가?
- 코드가 무엇을 하는지 이해하기 불편하지 않은가?
- 코드가 자신이 있어야 할 자리에 있는가?
- 앞으로 변경이 일어난다면 어떤 것이 있을 수 있고, 그 변화에 쉽게 대응할 수 있게 작성되어 있는가?
중요포인트
- 객체지향적인 코드는 다른 오브젝트의 데이터를 가져와서 작업하는 대신 데이터를 가지고 있는 다른 오브젝트에게 작업을 해달라고 요청한다.
- 오브젝트에게 데이터를 요구하지 말고 작업을 요청하는 것이 객체지향프로그래밍의 가장 기본이 되는 원리이다.
- 스프링의 빈으로 등록할 때 먼저 생각해야할 부분은 해당객체가 싱글톤으로 만들어져 여러쓰레드에서 동시에 사용되어도 괜찮은지 생각해보기
- DI는 관심, 성격, 책임이 다른 코드를 깔끔하게 분리하는 것이다.
- 책임이 두가지라는 것은 수정되는 이유가 2가지 라는 것이다.