Spring.NET2009.04.07 10:28

 


Spring.NET
엔터프라이즈 닷넷 환경을 위한 포괄적인 기반을 제공하는 프레임웍이다. Spring.NET 베이스 클래스 라이브러리를 테스트 빈번히 발생하는 복잡성을 쉽게 제거 있다.(Test Driven Development) 부분은 최근 발표한 ASP.NET MVC에서도 지원을 한다.

 

Spring.NET 자바 버전의 스프링 프레임웍을 기반으로 디자인 되었다, 실제 스프링 프레임웍을 사용하여 개발되는 엔터프라이즈 어플리케이션이 수천개가 넘는데 스프링 프레임웍을 도입하여 많은 이득을 보도 있다. 또한, Spring.NET 자바버전을 급하게 컨버젼한것은 아니고, 자바버전의 프레임웍을 닷넷 환경에 맞게 부분적으로 조금씩 컨버팅 하여 완성되었다.

 

스프링 프레임웍을 사용하여 세계적으로 많은 엔터프라이즈 솔루션이 많은 이득을 보았다고는 하지만, 단지 프레임웍을 사용하므로써 모든 것을 얻지는 못한다. 부분은 설계자, 혹은 개발자 몫이다.

 

엔터프라이즈 어플리케이션은 통상 여러 개의 물리적 티어로 나뉘어 구성된다, 기능적층(Model, View, Controller) ; 이는 실제로 논리적으로 나뉘는게 아니라 물리적으로 나눌때 효과가 있다.(, 대형 어플리케이션에 한해서 ^^;)

 

비즈니스계층을 담당하는 로직에서는 실제 데이터베이스 연동을 담당하는데, 어플리케이션 설계가 끝난상태에서 여러가지 오브젝트와의 협동, 또는 다른 개발자와의 연동을 해야하는데 이는 Spring.NET에서 제공하는 IoC/AOP 덕분에 문제될것이 없다.

 

닷넷 플랫폼은 아주 기초적인 클래스 조각들로 훌륭한 어플리케이션의 설계와 개발에 관한 많은 기능을 제공한다. 이는 닷넷 프레임웍 자체가 굉장히 훌륭한 프레임웍이라고 할수 있기 때문이다. 디자인 패턴에 분류된 어떠한 패턴도 적용 있고, 각각 서브 라이브러리들이 느슨한 결합도를 유지 하고 있기 때문이다. 이러한 훌륭한 프레임웍에 Spring.NET 사용하는것은 기존 객체지향적으로 설계된 어플리케이션이나 프레임웍에서 필요했지만 사용이 애매했던 부분… 예를 들어 닷넷 프레임웍에서는 사용자가 어플리케이션 제어를 못하고 프레임웍에 제어권을 빼앗겨 버렸다. 닷넷 뿐만 아니라 자바와 같은 객체지향 언어들이 가지고 있는 공통 고민이다. Spring.NET 에서 제공하는 IoC(Inversion of Control) 이나 DI(Dependency Injection) 으로 해결을 할수 있다. 이에 대한 자세한 내용은 마틴 파울러의 Inversion of Control Containers and the Dependency Injection pattern 찾아보기 바란다.

Spring.NET은 수년간 자바 플랫폼 에서 많이 사용되어져 왔고, 수많은 어플리케이션에서 이미 기능이 입증된 프레임웍이다. 반드시 꼭 사용해 보길 바란다.

스프링프레임웍은 아래 다이어그램과 같이 IoC/AOP와 같은 특수 기능이 아닌 다른 많은 기능을 가지고 있다.


저작자 표시 비영리 동일 조건 변경 허락
신고
Posted by dotnetpower

티스토리 툴바