IRepository <> 패턴과 SOA를 함께 사용할 때 도움이 필요합니다.IRepository <>와 SOA를 함께 사용
저는 매우 복잡한 비즈니스 로직을 포함하는 회계 응용 프로그램을 개발하고 있습니다. 현재 IQueryable 인터페이스, 일부 캐싱 기능 등을 제공하는 것과 같은 기본적인 CRUD + 작업 만 수행하는 DAL로 IRepository를 사용하고 있습니다.
맨 위에는 ServiceLogic 또는 Facade 레이어 역할을하는 BusinessLogic 레이어가 있습니다 (동일한 것입니까?). 모든 애플리케이션 로직은 프레젠테이션 레이어에서 사용할 메소드로 캡슐화됩니다.
나는 모든 기본 CRUD가 저장소에 배치되지만 더 그 예를 들어 우리는 우리의 계정 저장소에서 이러한 기본적인 방법이있을 수 BusinessLogic에서 개최 말한대로하십시오이있는 계정을 얻을 수 있지만
public class AccountRepository
{
public IList<Accounts> GetAll()
{
...
}
public Accounts Get(int id)
{
...
}
public IList<Accounts Where(Func<Accounts,bool> criteria)
{
...
}
public Accounts Add(Accounts item)
{
...
}
}
을
public class AccountService
{
AccountRepository repos;
public Accounts FindByNumber(int AccountNumber)
{
return repos.Where(o=>o.AccountNumber == AccountNumber).FirstOrDefault();
}
}
AccountService에도 리포지토리 개체를 사용하여 단일 트랜잭션에서 여러 엔티티 (계정, 소유자 및 ...)를 추가 할의 createAccount() 메소드를 할 수 : 특정 수의 우리는이 같은 서비스를 할 것이다 .
이제 올바른 방법으로 사용하고 있는지 알고 싶습니까? 또는 나는 몇몇 점을 놓쳤는가?
고마워, 당신은 트랜잭션을 관리하기 위해 무엇을해야합니까 :
은이 문서를 참조하십시오
? 나는 당신이 그들을 다루는 층을 의미합니까? (저는 Engine 레이어를 생각합니다) 어떻게이 아키텍트에서 구현합니까? – sos00http://stackoverflow.com/questions/9511137/is-the-solution-design-optimal-c-sharp-3-tier에 응답 해 주시겠습니까? – Lijo