Spring에서 interface를 만들어야 하는 이유가 뭘까? 일주일 전 쯤 처음 spring 을 접할때 이런 의문을 가졌었고 그 후 일주일 후 개발을 진행해 가면서 이 의문이 풀리게 되었다. 토비의 책에도 나와있는 내용이지만 실제 경험을 통해 느끼게 되었다. 그 이유는 다음 3가지이다.


  1. 변하지 않는 소프트웨어는 없다.
  2. 객체지향 개념에 더 맞는다.
  3. 테스트를 위해서 이다.


이 중 마지막 테스트를 위해서 만든 다는 것이 진리인 것 같다. 보통 Junit 을 이용해 테스트 케이스를 만드는데 이 경우 약한 결합의 구현이 없다면 유연한 테스트가 불가능하다. 하지만 이 경우도 아니고 절대 never never 변할지 않을 부분이라면 성능 저하를 가져오면서 까지 concrete 하지 않은 구현체를 만들지 않을 필요는 없다고 생각한다. 하지만 테스트는 왠만해서는 필수다. 테스트 없는 개발은... 너무 눈가리고 뛰어가는 것과 같다고나 할까? 어디로 가고있는지 언제 넘어질 지 모르는 것 같다.


http://www.Modern.IE

 

구 버전 IE 테스트 사이트이다. Scan a webpage 메뉴에서 url을 입력하면 구 버전 IE와 최신버전과 다르게 보일 수 있는 문제점을 스캔 해준다.

 

 

스캔결과 다음과 같이 문제점들을 알려준다.

 

 

개인적인 생각으로는 새로 개발하는 웹 서비스들은 최신 브라우저만 지원하는 것이 어떨까 한다. 물론 구 버전의 많은 사용자들이 문제가 될 수도 있긴 하지만 구 버전 호환성 때문에 출시가 늦어질 수 있을뿐더러 최신 기능을 지원하지 못하는 문제점도 있다. 웹 표준을 제대로 준수하지 않았던 개발사에도 문제도 있지만 취약점이 있음을 알고도 구 버전을 고집하는 사용자에게도 문제가 있다고 생각한다.

+ Recent posts