Skip to content

Latest commit

 

History

History
24 lines (20 loc) · 1.78 KB

32장.md

File metadata and controls

24 lines (20 loc) · 1.78 KB

프레임워크는 세부사항이다.

프레임워크 제작자

프레임워크의 목적은 우리가 일반적으로 고민하는 문제와 겹치는 경우가 많다. 프레임워크는 이러한 문제들을 해결하기 위해서 만들어 진거지 우리의 문제를 해결하기 위해서 생겨난 것이 아니다.

혼인관계의 비대칭성

우리와 프레임워크 제작자의 관계는 굉장히 비대칭적이다. 우리는 프레임워크에 맞추기위해 많은 노력을 하지만 프레임워크 제작자는 큰 노력을 들이지는 않는다. 따라서 프레임워크를 중심에 두고 우리의 아키텍처는 그 바깥을 감싸야한다. 프레임워크와 우리의 관계는 일방적인 관계여서 모든 위험은 우리가 감수해야한다.

위험 요인

위험요인의 종류는 무엇이 있을까?

  • 프레임워크 아키텍처는 그다지 깔끔하지 않으며 프레임워크는 의존성 규칙을 위반 하는 경향이 있다. 프레임워크가 자신의 코드를 상속할 것을 요구한다.
  • 프레임워크 어플리케이션의 초기 기능을 만드는데는 도움이 되지만 제품이 성숙해지면서 프레임워크가 제공하는 기능과 틀을 벗어나게 될 수 있다.(프레임워크와 전쟁을 벌일 수 있다.)
  • 프레임워크가 우리가 원하지 않는 방향으로 발전해 나아갈 수 있다.

해결책

프레임워크를 사용하되 프레임워크와 결합해서는 안된다. 프레임워크가 핵심 코드 안으로 들어오지 못하도록 해야한다. 예를들어 @authwired 어노테이션이 업무에 산재해하면 안된다. 업무 객체는 절대로 스프링에 대해서 알아서는 안된다.

결론

프레임워크에 의존하려 들지 말라