1
저는 디커플링을위한 설정 파일을 사용하여 Spring.NET을 통해 생성해야하는 두 개의 매개 변수가있는 객체를 가지고 있습니다.Spring.NET 매개 변수가있는 객체 생성
public Object(string param1, string param2) { ... }
개의 파라미터가 동적으로 사용자 이름 및 암호를 전달 사용자 상호 작용에 기초하여 전달되므로,이 값은 하드 구성 파일에 코딩 될 수 없다. 따라서 다음이 작동하지 않습니다
<object name="WinFormApplicationWorkflow" type="COM.Us.Workflow.ApplicationWorkflow, "COM.Us.Workflow ">
<!-- this will NOT work -->
<constructor-arg index="0" value="TESTUSER"></constructor-arg>
<constructor-arg index="1" value="TESTPW"></constructor-arg>
<!--/-->
<property name="NetworkWorkflow" ref="NetworkWorkflow" />
<property name="ExceptionLogger" ref="ExceptionLogger" />
</object>
을 나는 다만 수 있도록 내가 Spring.NET이 할 수있는 방법 :
ContextRegister.GetContext().GetObject("WinFormApplicationWorkflow");
을하지만 여전히 내 워크 플로우 클래스에 두 필요한 매개 변수를 전달 .
이제 재미 있습니다. 문서에서는이 메서드가 공유 인스턴스 또는 독립 인스턴스를 반환 할 수 있다고 말합니다. 그러나 다른 생성자 인수를 전달할 수 있기 때문에 단일성이 될 수는 없습니다. 항상 새로운 물건을 얻는다는 뜻입니까? 아니면 싱글 톤이 재구성 될 것인가? 또는 고유 한 인수마다 별도의 인스턴스가 생성됩니까? –
@Alexander : 내 생각에, 각 GetObject() 호출은 지정된 유형의 새 인스턴스를 생성하고 지정된 인수와 일치하는 생성자를 호출합니다. – Jehof