Enterprise Library란?
- Microsoft가 만든 애플리케이션을 쉽게 만들 수 있게끔 재사용 가능한 인터페이스
- 닷넷 기반 앱을 개발할 때 공통적으로 필요한 기능들을 EnterpriseLibrary 컨테이너라는 DI 컨테이너에서 표준화해서 라이브러리 형태로 묶어서 제공
- Enterprise Library Container 라고도 불리며 ASP.NET에선 해당 이름의 인스턴스를 활용
특징 및 사용법(스프링 컨테이너와 흡사)
- 블록 기반
- 각각의 추상화된 기능마다 블록으로 묶어서 제공
- 설정 정보 구성
- DI 컨테이너
- 인터페이스
- 인터페이스로 각 기능을 표준화해서 추상화해놓음에 따라 각 기능 별 블록을 커스터마이징하고 확장 가능
주요 기능
Database(ADO.NET 래핑해서 편하게 쓸 수 있음), 캐시(ICacheManager)
의의
- 스프링 컨테이너마냥 필요한 기능들을 클라이언트에서 쉽게 사용할 수 있도록 인터페이스로 추상화해놓고 각 구현된 기능들은 해당 추상화된 컨테이너를 구현체로서 구현하면서 유연하게 갈아끼울 수 있음. 또한 사용자가 직접 해당 인터페이스에 대한 구현체를 직접 커스텀하면서 무한히 확장 가능함
- 이에 따라 인터페이스 - 구현체 설계가 굉장히 중요한 것 좋은 객체 지향 설계 5원칙 중 핵심인 DIP, OCP를 지킬 수 있음