[스프링 기본] appConfig 리팩터링

마코레·2022년 4월 23일
0

백엔드개발

목록 보기
8/18

🤗 인프런 [스프링 핵심원리-기본편]을 듣고 기록하는 글입니다

진행 과정


  • 원래는 appConfig에서 구현체 주입해주는 방식이
  • xxService라는 함수안에서 new ServiceImpl을 선언하고,
  • 거기 안에서 또 new xxRepository, new xxPolicy를 선언했었음.
  • 근데 이걸, repository나 policy로 새로 선언해서 반환해주는 함수를 따로 떼어내는식으로 리팩토링 진행!
  • 사용영역의 코드는 전혀 건들지 않고, 구성영역의 코드만 변경하면 영역확장을 마음대로 할 수 있는것임.
  • 이렇게 리팩토링 후에도 잘 작동하는 모습을 볼 수 있었음

새로 알게 된 내용


appConfig와 SOLID원칙

  1. 추상화에 의존하고, 구체화에 의존하지 말아야한다라는 원칙을 따르는 방법들중 하나가 바로 의존성 주입이다.(DIP 문제)

    • appConfig가 바로 이 의존관계 주입 역할을 갖게 되는것.
  2. 소프트웨어 요소는 확장에 열려있으나 변경에는 닫혀있어야한다.

    • appconfig를 만들면서 사용영역과 구성 영역을 분리했기 때문에, 새로운 요소를 넣어 확장을 해도 사용역역의 변경을 닫혀있게됨
profile
새싹 백엔드 개발자

0개의 댓글