2011-04-05 3 views
1

C# 서버 응용 프로그램에 큰 개체 배열이 있습니다. 많은 개체 속성은 일반적으로 기본값을가집니다.의존성 삽입으로 메모리 공간을 절약 할 수 있습니까?

내 응용 프로그램에서 메모리 사용을 최적화하거나 줄이기 위해 종속 삽입을 시도해 보는 것이 가치가 있습니까?

+1

미안하지만, 단서 : 어떻게 작동합니까? 대신 인터페이스에 배열을 템플릿으로 지정하고 null이 아닌 값을 가진 속성에 따라 다른 객체 집합 중 하나를 인스턴스화 하시겠습니까? DI가 자동으로 그렇게 할 수 있습니까? 응용 프로그램 수준 서비스를 추상화하는 것이라고 생각했습니다. – Rup

+0

필자는 속성이 필요에 따라 주입 될 수 있도록 어딘가에서 읽었으므로 메모리를 절약 할 수 있다고 생각했습니다. – paseena

답변

6

이는 느슨하게 주입 의존성 관련이 - 당신이 할 수있는 공통성을 고려하고 공유 상태를 나타 내기 위해 같은불변 개체 인스턴스를 사용합니다. 이 공유 객체를 생성/액세스하는 방법 (다른 예 : flyweight pattern 참조)은 DI 또는 팩토리 메서드를 통해 제안 할 수있는 또 다른 방법입니다.

+1

동의합니다. Dependency Injection이 메모리를 줄일 수있는 것은 아니지만 변화에 적응하기가 훨씬 쉬운 응용 프로그램으로 끝나기 때문에 성능과 메모리 문제가 발생할 때 해결하는 것이 훨씬 쉽습니다. – Steven

+0

wpf 속성 시스템이 메모리를 줄이기 때문에 혼란 스럽습니다. 의존성 주입을 기반으로합니다. 그러므로 나는 의존성 주입이 트릭을하고 있을지도 모른다고 생각하고있었습니다. 제발 이해할 수없는 것을 조언 해주세요. – paseena

+0

@fruit_trader : WPF가 종속성 속성의 * 값 *을 실제로 결정하는 방법은 당신이 말하는 것입니다. 객체가 다른 값을 제공하면 조회가 현재 애니메이션, 상속 된 값, 템플리트 된 부모, 스타일 등 - 동일한 설정을 사용하는 경우 동일한 속성 객체를 다양한 컨트롤에서 사용할 수 있습니다. – BrokenGlass

관련 문제