티스토리 뷰

Springframework

[Spring Framework] 기초 01.

체리팜 2013. 3. 25. 11:27


스프링 프레임워크를 활용하려면 인터페이스 기반 설계를 이해하는 것이 중요하다.


의존관계(DI)는 구상 클래스가 아닌 인터페이스를 통해 이루어 진다.



Ex> 인터페이스 기반 설계가 아닌 경우

                    ●     →     

※객체가 직접적으로 묶여 있게 된다.



ex> 인터페이스 기반 설계

                    ●     →     ○     →     

※객체가 간접적으로 결합 되어 있다.


그림으로 그리자면 이런식의 설계가 이루어 져야 한다. 객체와 객체가 약한 결합으로 연결되어야 스프링을 활용할수 있다.

예를 들자면 나라는 객체가 있다. 그리고 간다라는 메소드가 존재한다. 그러나 처음에 버스를 타고 간다라고 계획을잡고 출발을 했다 그러나 가다가 어떠한 이유로 지하철을 타고 가야할 경우 버스를 타고간다라는 계획을 모두 수정해야한다. 이러한 문제가 생겼을시 객체와 객체간의 강하게 결합되어 있을경우 버스타고 간다라는 객체를 모두 수정해야하는 상황이 일어나게 된다. 웹에서는 이러한 클래스를 수정시 수많은 코드를 고쳐야 되는 상황이 오게된다. 하지만 인터페이스적 설계를 하게 된다면 나는 간다라는 것만 알고 버스를 타든 지하철을 타든 상관이 없는것이다. 버스를 타고 간다 지하철을 타고간다라는것은 Bean이라는 역활을하는 스프링 객체가 결정을 하게 되는것이다. 이렇기에 모든 소스를 고칠 필요없이 설정만 바꾸어주면 전체적으로 적용이 된다. 이것은 유지보수할때의 상당히 큰 이점이 되기도 한다. 또한 나누어서 설계하고 그역활에만 충실하면되기에 더욱더 효율적인 코딩이 가능하게 된다.


물론, 설계가 엄청 복잡해 질수도있다... 간단한것도 엄청 힘들어질수도... 그래도 그러한 단점보다 이점이 더 많다는 것을 알았으면 한다. 


공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함