프레임워크 제작자
- 프레임워크 제작자는 자신이 해결해야 할 고유한 문제나 자신의 동료와 친구들의 문제는 알고 있지만 당신의 문제는 아니다
- 물론 당신의 문제와 겹칠 수 있고, 그 영역이 클수록 프레임워크는 실제로 더 유용
혼인 관계의 비대칭성
- 당신과 프레임워크 제작자 사이의 관계는 놀라울 정도로 비대칭적
- 프레임워크를 사용해야 할 경우 우리는 제작자가 제공하는 문서를 꼼꼼히 읽는다
- 문서는 보통 프레임워크를 중심에 두고 우리의 아키텍처는 그 바깥을 감싸야 한다고 말한다
- 또한 프레임워크 기반 클래스에서 파생하거나 기능들을 바로 임포트해서 사용하라고 권한다
- 프레임워크와 분리할 수 없는 방식으로 쓰는 사용자가 많아질 수록 프레임워크가 효과적임을 검증
- 이는 프레임워크와 혼인하기를 요구하는 것, 즉 막대한 헌신을 요청하는 것
- 이 혼인 관계는 일방적이기 때문에 위험하다
위험 요인
- 프레임워크의 아키텍처는 그다지 깔끔하지 않은 경우가 많다. 프레임워크는 의존성 규칙을 위반하는 경향이 있고, 업무 객체를 만들 때 자신의 코드를 상속할 것을 요구
- 프레임워크는 애플리케이션의 초기 기능을 만드는 데는 도움이 될 것. 하지만 제품이 성숙해지면서 제공하는 기능과 틀을 벗어나게 될 것이다
- 프레임워크는 당신에게 도움되지 않는 방향으로 진화할 수도 있다.
- 새롭고 더 나은 프레임워크가 등장해서 갈아타고 싶을 수도 있다
해결책
프레임워크와 결혼하지 말라!
- 프레임워크를 사용할 수는 있지만 결합해서는 안 된다
- 프레임워크는 아키텍처의 바깥쪽 원에 속하는 세부사항으로 취급하라