다릅니다. 당연하지. :-)
구성 파일의 목적은 무엇이며, 더 중요한 것은 누구를 대상으로합니까? 나중에 구성 파일을 읽거나 편집 할 사람은 누구입니까?
주된 목적이 애플리케이션을 연결하는 것이고 개발자를 대상으로하고 유형이 합리적으로 잘 명명 된 경우 DI 컨테이너 구성을 사용하여 문제를 해결할 수 있습니다. 위험은 응용 프로그램을 "구성"하기에는 실제적이지 않은 많은 불필요한 세부 사항이 있다는 것입니다. 예를 들어 연결 문자열과 같이 연결 문자열을 변경하려는 경우 연결 문자열로 명확하게 표시되는 한 위치에 실제로 연결 문자열을 사용하려고합니다.
그래서 내가 청중과 목적이 무엇인지 묻습니다. 보다 구체적으로 레이블이 지정된 간결한 XML 태그를 사용하면 관리자가 올바른 장소를 찾고 쉽고 빠르며 오류가 발생하지 않도록 할 수 있습니다.
그렇다면 System.Configuration을 사용하여 간단한 이름/값 쌍 이외의 작업을 수행하면 큰 문제가 발생합니다. .NET 구성 클래스는 버그가 많고 심각도가 낮으며 이상하고 예기치 않은 동작으로 가득 차 있습니다.
컨테이너 구성으로 시작하는 것이 좋습니다. 그런 다음 명시 적으로 디자인을 사용하여 사례를 집중하고 쉽게 편집 할 수있는 시간이 필요합니다.
나는 스프링을 모른다. 그래서 어떻게 작동하는지 아무 것도 말할 수 없다. Unity를 사용하면 믹스 앤 매치가 매우 쉽습니다. API 및 구성 파일을 사용할 수 있으므로 응용 프로그램이 API 호출로 작동해야하는 내용과 사용자가 조정할 수있는 내용을 구성 파일에 넣으십시오. 이를 별도의 컨테이너 정의와 별도의 구성 파일로 나누어도 관리자가해야하거나 필요가있는 것으로부터 내부 배선을 분리 할 수 있습니다.
또한 마지막 수단으로 Unity 구성 스키마 자체가 확장 가능하므로 실제로 Unity 구성 섹션에 태그를 추가 할 수 있습니다. 하지만 System.Configuration 및을 Unity 구성 프레임 워크에 적용해야하므로 더 많은 작업이 필요합니다.
그래서, TL : 여기에는 아무런 답변도 없습니다. 일반적인 DI 구성 스키마에는 일반적이고 이미 작성된 이점이 있습니다. 그것은 관리자가 조정할 필요가있는 것이 무엇인지 명확하게 알 수 없으며, 상황을 잘못 해석 할 수있는 내부 배선 세부 사항이 무엇인지에 대한 단점이 있습니다. 사용자 정의 구성 섹션은 작성 작업이 많이 필요할 수 있지만 잘 수행되면 관리자가 명확하지 않은 방식으로 전체 편집 영역을 손상시키지 않고 편집 할 수있는 명확하고 명확한 포인트를 제공합니다.
글쎄, DI 구성/IoC를 사용하는 것이 아니라 XML 구성 파일을 사용해야하는지 여부는 문제가 아니라, DI/IoC를 사용하는 경우 System.Configuration a la : http : //를 사용하여 구성 클래스를 작성해야합니다. msdn.microsoft.com/en-us/library/2tw134k3.aspx –
필자가 선호하는 IOC/DI 컨테이너가 지원하는 xml 구성 형식을 사용합니다. 각각 하나는 다른 형식을 가지고 있으며 특정 컨테이너가 있으면 선호하는 형식을 사용하십시오. System.Configuration 네임 스페이스를 사용하려고 시도하면 컨테이너가 system.configuration을 기본적으로 지원하지 않을 경우 더 많은 작업을 생성 할 수 있습니다. – Peter