본문 바로가기

토비의스프링2

[토비의 스프링 5장] 서비스 추상화 5장 서비스 추상화 자바엔 표준 스펙/사용 제품/오픈소스를 통틀어서 사용 방법과 형식은 다르지만 기능과 목적이 유사한 기술이 존재한다. 환경과 상황에 따라서 기술이 바뀌고, 그에 따라 다른 API를 사용하고 다른 스타일의 접근 방법을 따라야 한다는 건 매우 피곤한 일이다. 트랜잭션 서비스 추상화 임의로 예외를 어떻게 발생시킬까? 정기 사용자 레벨 관리 작업을 수행하는 도중에 네트워크가 끊기거나 서버에 장애가 생겨서 작업을 완료할 수 없다면, 그때까지 변경된 사용자 레벨은 모두 되돌려 놓고, 유저들에게 알려야한다. 이런 상황의 테스트를 진행할 때는 어떤 방법이 있을까? 코드 자체를 수정한다. 테스트를 위해서 코드를 수정하는것은 매우 좋지 못한 방법이다. 때문에 해당 방법은 사용하지 않겠다. 상속을 통해서 .. 2022. 6. 13.
[토비의 스프링 1장] 오브젝트와 의존관계 1장 오브젝트와 의존관계 스프링이 추구하고자 하는 가치 유연함 -자바의 잃어버린 객체지향 언어적 장점을 다시 살릴 수 있도록 도와주는 도구 단순함 - 뛰어난 확장성으로 다른 많은 프레임워크 등과 쉽게 결합하여 사용할 수 있도록 할 것 OOP의 장점을 최대한 살린 것이 스프링이고, 이것을 기반으로한 접근 방법을 사용하면 스프링이 추구하던 아키텍처, 설계의 근간이 흔들릴 일 없이 확장되어 결국은 확장된 코드마저도 스프링과 같이 확장성이 뛰어나고 유지보수가 쉬운 코드가 될 수 있다. 객체지향의 원칙 객체지향의 5원칙 SRP(Single Reponsibility Principle) : 단일 책임 원칙 하나의 클래스는 하나의 책임만을 가져야 한다. OCP(Open Closed Principle) : 개방-폐쇄 원.. 2022. 5. 10.