Convention over Configuration
RoR을 공부해 본적은 없지만 조만간 운좋게 베타리더로 Rails for Java Developer를 접하게 될 것 같아서 공부하게 될 것 같습니다.
짧게나마 이해한 바로는 '설정보다 규약이 편하니까 규약으로 할 수 있는 건 규약으로 하자.'는 것 같습니다. 숙제3 에 있는 링크 중에 하나에 다음과 같은 그림이 있습니다.
장점 : 1. 새로운 개발자가 시스템을 빨리 이해할 수 있다. 2. 일관성을 높일 수 있다. 3. 보다 유연하다.
단점 : 1. 잘 알고 있어야 한다. 2. 프레임웤이 커진다. 3. 프레임웤이 새로운 규약을 도입했을 때 리팩토링이 힘들다.
단점 중에 3번이 가장 치면적인 것 같습니다. EJB였나.. 3.0으로 올리면서 어떤 속성의 default값을 바꿔서 온라인에서 개발자와 된통 싸웠다는 이야기를 들은 것 같은데 3번에 딱 맞는 예가 될 것 같습니다.[footnote]자세한 내용은 찬욱이한테 들은 것 같긴한데 기억이 잘 안납니다.[/footnote]
Spring에 CoC가 적용된 예로는 InternalResourceViewResolver, MethodNameResolver, ControllerClassNameHandlerMapping. 이런 것들이 있다고 합니다. 참조