토비의 스프링 | 8장 스프링이란 무엇인가? (읽기모임)

주싱·2022년 11월 13일
0

토비의 스프링

목록 보기
29/30

토비의 스프링 8장 ‘스프링이란 무엇인가?’를 읽고 읽기 모임 중 나눔한 내용과 참조 사이트 등을 정리합니다.

1. 나의 나눔

스프링의 전략과 사상

스프링이 해결하려는 문제가 무었이고 또 어떤 전략과 사상을 가지고 그것을 해결하는지 전반적으로 잘 설명되어 있어서 좋았습니다. 개인적으로 이해한 것을 정리해 보면 스프링은 비지니스 로직과 엔터프라이즈 기술을 분리함으로 애플리케이션 개발의 복잡함을 다루려는 전략을 가지고 있고, 애플리케이션 전 영역에 일관성 있고 세련된 기술을 보다 쉽게 적용할 수 있도록 돕고자 하며, POJO (기술과 환경에 종속적이지 않고 객체지향적 설계에 충실한)기반의 비지니스 로직 코드에 자신이 드러나지 않게 은밀하게 기술을 제공하는 비침투적인 방법을 사용함을 잘 이해할 수 있었습니다. 멋진 사상을 가진 프레임워크란 생각이 들었습니다.

AOP 예제들

AOP를 활용하는 다양한 예시들이 나와서 좋았습니다. 현업에서 특정 클라이언트의 특정 메서드만 호출해야 하는 서비스 클래스를 개발하면서 콜스택을 까보면서 클라이언트를 검증하는 코드를 작성한 적이 있는데 AOP를 적용하기 적절하다는 생각이 들었습니다.

다양한 DI 활용 방법

그리고 8장까지 사용해온 DI 활용 방법을 쭉 모아서 정리해 주셨는데, 뭔가 같은 듯 다른 듯 했던 것들의 차이점들이 잘 보여서 좋았습니다. 특히 전략 패턴과 템플릿/콜백 패턴의 차이점에 대해 모호한 이해가 있었는데 잘 이해할 수 있게 된 것 같습니다. 전략 패턴은 특정 기능을 구현하는 오브젝트에서 일부 기능을 다른 오브젝트에 위임하고 위임한 기능을 자유롭게 확장해서 사용할 수 있게 한다는 개념이고, 템플릿/콜백 패턴은 변경되지 않으면서 일정하게 반복되는 코드에서 변경되는 코드를 전략 패턴을 통해 확장해서 사용할 수 있게 한다는 미묘한 차이점을 잘 이해하게 되었습니다.

2. 참고

profile
소프트웨어 엔지니어, 일상

0개의 댓글