나는 혼란 스럽다. 이전의 mvc 응용 프로그램에서 저장소 패턴 (일반이 아님)을 사용했으며 일부 비즈니스 로직을 여기에 포함 시켰습니다. 이 순간에 나는 BL에 포함되어야하는 서비스 계층 패턴을 읽었다. 하지만 이제는 더 명확하고 읽기 쉽고 효율적인 코드 대신 추상화와 추가 코드가 있는지 알 수 없습니다.메서드를 넣을 위치입니다. 저장소상의 서비스 계층 (BL)?
은 내가 하나 개의 필드의 상태를 변경하는 비즈니스 로직의 비트가이 코드에서이
public void ChangeActiveField(bool isActive, int id)
{
var objectToUpdate = _context.FirstOrDefault(x=>x.id==id);
objectToUpdate.IsActive - isActive;
_context.Entry(objectToUpdate).State = System.Data.Entity.EntityState.Modified;
_context.Save();
}
같은 방법을 구현하려는 그 후 나는이 업데이트됩니다. 서비스 계층에서 만들어야하며 간단한 저장소 업데이트 방법을 사용해야합니다.
public class MyService
{
private readonly IMyRepository = _myRepo;
MyService(IMyRepository myRepo) //it's injectable
{
_myRepo = myRepo;
}
public void ChangeActiveField(bool isActive, int id)
{
var myObject = _myRepo.GetMyObject(id);
myObject.IsActive = isActive;
_myRepo.Update(myObject);
}
}
더 나은가? 더 나은 분리를합니까? 아니면 너무 정교하고 덮어 씁니까? 도움 주셔서 감사합니다. 감사합니다.
에 따라 내 주관적인 의견 IMO는 그냥한다 ... 테스트 할 수 있습니다. –