본문 바로가기

스프링 관련/토비의 스프링 62

관심사의 분리 (Separation of Concerns) PaymentService는 여전히 클래스 관점에서 보자면 두 개의 다른 관심사를 가지고 있다.클래스 관점에서 볼 때 변경이 되야 하는 시점과 이유가 제각각인 코드들이 혼재되어 있다.이것들을 클래스 밖으로 분리하는 작업이 필요하다. 분리해야 하는 이유1. 재사용 관점에서 좋지 않음 (한 번 만들어진 기능을 계속 가져다 사용하는 것)2.   상속을 통한 재사용상속을 통한 재사용에서는 상위 클래스와 하위 클래스가 굉장히 강하게 결합이 되어 있다.상위 클래스의 로직 변화가 하위 클래스가 그대로 영향을 받는다는 말그리고 자바는 단일 상속만 지원하기에, 복잡한 상속 구조를 만들어서 여러가지를 조합하는 이런 것도 불가능하다.클래스의 분리 강의 다이어그램but 위 구조 만으로는 해당 클래스와, 그 클래스를 사용하는 .. 2024. 7. 23.
오브젝트와 의존관계 스프링에서 가장 중요한 용어 : 오브젝트와 의존관계스프링이 가장 관심을 가지고 있는 것 : 오브젝트스프링이 우리를 도와주는 가장 중요한 일 : 의존 관계를 어떻게 다루게 할 것인가  클래스와 오브젝트클래스는 오브젝트를 만들기 위한 것, 오브젝트를 만들기 위해 클래스를 코딩함 클래스의 인스턴스 == 오브젝트   의존관계 DependencyA ---> BClient의 기능이 제대로 동작하려면 Supplier가 필요Client가 Supplier를 사용,호출,생성,인스턴스화, 전송클래스 레벨(코드 레밸)의 의존관계Supplier가 변경되면 Client 코드가 영향을 받는다. 클래스 레벨의 의존관계와 런타임 레벨의 의존관계가 다를 수 있다.이것이 스프링이 제공해주는 핵심적인 원리의 바탕이 되는 것이다. 2024. 7. 23.