저는 C#과 .net을 사용하여 저장소 패턴을 가지고 놀았습니다.저장소 패턴을 사용하여 개체의 새 인스턴스를 만드는 올바른 방법은 무엇입니까?
내 질문에 관해서는 someRepositoryObject
의 새 인스턴스를 만듭니다.
using(ISomeRepository someRepository = new SomeRepository().getRepository())
{
IsomeRepositoryObject repObj = new someRepositoryObject();
}
new someRepositoryObject
가 처음에 인터페이스를 사용하는 포인트를 제거 호출하지 않습니다 : 내가 본 모든 예제는 지금까지 같은 것을 사용?
using(ISomeRepository someRepository = new SomeRepository().getRepository())
{
IsomeRepositoryObject repObj = someRepository.NewsomeRepositoryObject();
}
그래서 저장소 자체가 필요한 개체의 새 인스턴스를 반환하고 호출하는 코드는 클래스의 지식이 유형
ISomeRepositoryObject
의 단지 것을, 그것을 전달되지되고 있습니다 더 나은 뭔가를 수행하는 것입니다.
이것은 나에게 모두 새로운 것이므로 분명히 뭔가 빠져있을 수 있습니다!
도움을 주시면 감사하겠습니다.
. getRepository()'대신'새로운 SomeRepository의()'또는'RepositoryFactory.getSomeRepository 같은 것을()'또는'SomeRepository.getRepository()'? – hangy
그것에 대해 생각하면 이유가 없습니다! getRepository를 사용하여 올바른 저장소 유형을 반환하는 데 사용 된 web.config appsetting을 가져 왔습니다. 이 코드는 SomeRepository의 생성자에 추가 될 수 있습니다. –
사실, 코드를 보면 .getSomeRepository()를 사용하여 IsomeRepository 객체를 반환했습니다. 이것은 내가 크리스마스 방학을 가기 전에 함께 연주 한 것입니다. –