Today I Learn
- 토비의 스프링 3.1 vol.1 1장 오브젝트와 의존 관계 - 1
- 토비의 스프링 3.1 vol.1 5장 서비스 추상화
- 크게 3가지 파트로 되어있다.
- 첫번째는 유저 레벨 관리 기능을 구현하는 것이다.
- 두번째는 트랜잭션 서비스 추상화를 했다.
- 마지막으로 JavaMail을 추상화 했다.
- 주요 내용은 두번째와 세번째이다.
- 두번째의 경우는 기능은 같지만, 기술의 구현 방법과 인터페이스가 다른 경우이다. JDBC를 이용할 때나 Hibernate를 이용하거나 기타 다른 트랜잭션 기술을 이용할때 그 방법이 모두 다르기 때문에 문제가 있다. 그러므로 이를 추상화하는 인터페이스인 PlatformTransactionManager를 만들고, 이를 각각의 기술을 이용한 구현체를 만들어 사용한다.
- 세번째의 경우는 JavaMail을 이용하여 메일을 보내는 것인데, 이 기술이 유연한 인터페이스를 제공하지 않아 테스트를 한다거나 하는 경우에 이용하기 매우 어렵다. 이런 경우도 스프링은 MailSender라는 인터페이스를 제공하고, 이를 활용하여 테스트용 Mock 객체나 Fake 객체 등을 이용할 수 있게 해준다.
Good
- 드디어 토비의 스프링 5장 까지 읽었다.
- 글 하나 썼다.
- 할 일을 정리했다.
Bad
- 글 적는데 꽤나 많은 시간을 쓴 것 같다. 좀더 핵심만 추려서 정리해보자.
To Do
- 토비의 스프링 AOP
- TDD By Example
- 데이터베이스
- 네트워크
- OS
- 알고리즘
- JPA