나는 시작한 젊은 개발자이며, 나는 의존성 주입을 배우는 중이고 저를 괴롭히는 질문이 있습니다.IoC 컨테이너? (정적 클래스에 반대)
예를 들어 WCF 서비스 웹 (비누)이 있는데 간단한 비즈니스 조치를 수행하고 데이터베이스를 호출합니다.
그래서, 내 프로젝트는
서비스로 절단 -> 비즈니스 레이어 -> 레이어 데이터 액세스 -> 데이터베이스 내 경우에는
는 비즈니스 계층과에서 SELECT 한 Statment 간단한 비즈니스 활동이있다 데이터 액세스 계층. 요약
:
서비스 레이어 :
public void GetData()
{
BusinessLayer.GetData();
}
비즈니스 층 :
static class BusinessLayer
{
public static void GetData()
{
//If something or something else ...
DataAccessLayer.GetData();
}
}
는 이제 (확실히 잘못된 방향으로) 내 층 사이의 통신에 정적 클래스를 사용
데이터 액세스 계층 :
static class DataAccessLayer
{
public static void GetData()
{
//DO insert in database
}
}
우선이 방법이 좋지 않습니까?
그러면 매우 간단한이 경우 IoC 컨테이너를 설치하는 것이 좋습니다.
미리 감사드립니다.
PS : 제 영어
질문의 전제가 유효하지 않는 것 같습니다. 의존성 주입을하기 위해 IoC 컨테이너가 필요하지 않기 때문에 정적 클래스 대 IoC 컨테이너가 아닙니다. –
는 이럴 그것은 어떻게 어떤 회사가하고있는에 더 의존한다. 그리고 얼마나 빨리 IOC의이 IOC는 전혀 옵션이 아닌 경우 아주 간단한 시나리오, 경우도 있습니다 사용할 때 그들은 개발의 방향)의 경우가 있습니다를 변경하지. –
이 질문은 상당히 폭넓게 보입니다. 따라서 아마도 닫힐 것입니다. 콘테이너는 신경 쓰지 말고 클래스의 실제 디자인을 고려해야합니다. . 당신은 일반적으로 "클래스의 실제 인스턴스의 독립적 인 존재 물건을 언급 static' 그러나 나는 비즈니스 층은 1이 가정'로 : 데이터 액세스 레이어 1-관계를, 그것을 나던 그래서 마키는 thjis? 모든 인스턴스와 멋져요 완료. 용기를 사용하는 경우 – HimBromBeere