클린 아키텍처 도서 요약 내용입니다.
32장 프레임워크는 세부사항이다
프레임워크 제작자
대다수의 프레임워크 제작자는 커뮤니티에 도움이 되기를 바라는 마음에 자신의 작업물을 무료로 제공한다. 칭찬 받을 일이다. 하지만 이들은 당신이 풀어야 할 특별한 관심사를 염두에 두지 않는다. 프레임워크 제작자는 당신을 알지 못하며, 당신이 풀어야 할 문제도 알지 못하기 때문이다.
프레임워크 제작자는 자신이 해결해야 할 고유한 문제나 자신의 동료와 친구들의 문제를 알고 있다. 그리고 그러한 문제들을 해결하기 위해 프레임워크를 만든다. 당신의 문제를 해결하기 위해서가 아니다.
물론 당신의 문제는 프레임워크가 풀려는 문제와 꽤 많이 겹칠 것이다.
혼인 관계의 비대칭성
당신은 프레임워크를 위해 대단히 큰 헌신을 해야 하지만, 프레임워크 제작자는 당신을 위해 아무런 헌신도 하지 않는다.
위험 요인
고려해야 할 위험 요인들은 다음과 같다.
- 프레임워크의 아키텍처는 그다지 깔끔하지 않은 경우가 많다. 의존성 규칙을 위반하는 경향이 있다. 업무 객체를 만들 때, 프레임워크 제작자는 자신의 코드를 상속할 것을 요구한다. 하지만 한번 안으로 들어가버리면 다시는 원 밖으로 나오지 않을 것이다. 결혼반지는 이미 당신의 손가락에 끼워졌고, 다시는 빼지 못할 것이다.
- 프레임워크는 애플리케이션의 초기 기능을 만드는 데는 도움이 될 것이다. 하지만 제품이 성숙해지면서 프레임워크가 제공하는 기능과 틀을 벗어나게 될 것이다.
- 프레임워크는 당신에게 도움되지 않는 방향으로 진화할 수도 있다.
해결책
해결책은 무엇인가?
프레임워크와 결혼하지 말라!
프레임워크가 아키텍처의 안쪽 원으로 들어오지 못하게 하라.
업무 객체는 절대로 스프링에 대해 알아서는 안된다.
이제 선언합니다.
정말로 결혼해야만 하는 프레임워크도 존재한다. 자바를 사용한다면 표준 라이브러리와 반드시 결혼해야 한다.
반응형