2.3. 모듈
Spring framework 는 잘구성된 모듈로서 많은 특징을 아래의 그림과 같이 가진다. 아래 그림은Spring.NET의 핵심 모듈을 보여준다.
Spring.Core 는 어플리케이션에서 DI를 사용하도록 설정하는 가장 기초적인 부분을 담당한다.
Spring.Aop 는 Aspect-Oriented Programming ( 이하 AOP) 의 공통 기능을 수행한다. Spring 의 aspect 라이브러리는 transaction, logging, performance monitoring, caching, method retry, exception handling 에 사용하기 쉽게 정의되어 있다.
Spring.Data 는 data에 access하기 위해 더 효율적이고 일관된 기능을 제공한다.
Spring.Data.NHibernate 는 ADO.NET 과 NHibernate 수행을 같은 transaction 에서 쉽게 제공하기위해Spring 의 선언적 transaction 관리 모듈이다. NHibernate 1.0 사용자는 data access 동작 수행을 API를 통해 쉽게 사용할 수 있다.
Spring.Web, Spring.Web.Extensions 은 ASP.NET web 어플리케이션 의 추상화 레벨로서databinding, validation, page/control/module/provider 구성의 공통적인 방법을 효율적으로 제공한다.
Spring.Services 는 .NET remoting, Enterprise Service, ASMX web service같은 분산 기술에서 사용하는 .NET 개체를 처리하기 위한 모듈. 이런 서비스는 AOP 의 'decorated' 와 DI을 통해 구성할 수 있다
Spring.Testing.NUnit 은 NUnit 를 통해, 통합 테스트를 위한 모듈 제공
Spring.Core 모듈은 다음과같은 기능을 추가적으로 제공한다.
l Expression Language - 런타임에 개체의 조작과 효율적인 쿼리 제공
l Validation Framework - 비즈니스 개체의 복잡한 유효성 확인에 선언적이거나 프로그래밍적 방법을 제공하는 견고한 UI agnostic 프레임워크
l Data binding GGramework - 데이터 바인딩을 수행하는 견고한 UI agnostic 프레임워크
l Dynamic Reflection - 높은 성능의 reflection API 제공
l Threading - Latch, Semaphore, Thread Local Storage 같은 additional 동시성의 추상화를 제공
l Resource abstraction - file 로 부터의 InputStream 과 다형성과 프로토콜 독립적인 방법의 URL 을 처리하는 공통 인터페이스 제공
'GET > FrameWork' 카테고리의 다른 글
DI (Dependency Injection) 관련 프레임워크. (0) | 2009.10.06 |
---|---|
방랑이가 생각하는 Spring.NET... (0) | 2009.10.06 |
객체의 생명주기 (0) | 2009.09.30 |
Spring 컨테이너와 아키텍처 구성 (0) | 2009.09.30 |
Spring.NET 생명 주기 (0) | 2009.09.30 |