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. 이런 것들이 있다고 합니다. 참조

숙제 3

SimpleFormController
– Spring reference
[#M_ more.. | less.. | a form controller that provides even more support when creating a form with a corresponding command object. The SimpleFormController  let’s you specify a command object, a viewname for the form, a viewname for page you want to show the user when form submission has succeeded, and more._M#]- Spring API :: SimpleFormController
– Spring MVC :: p65(84)
– Pro Spring :: p547

CoC
– Convention over Configuration 의 약어로 “설정을 능가하는 규약” 정도의 의미.
http://softwareengineering.vazexqi.com/files/pattern.html
Convention vs Configuration
CoC in Spring MVC