함수 호출에서 오류 집합과 결합 된 결과를 반환하는 데 어려움을 겪고 있습니다.함수에서 오류 목록과 결과를 반환하는 방법
나는 두 번째 단계는 새로운 클래스를
public class OperationResult
{
public bool Result {get;set;}
public List<string> Errors {get;set;}
}
을 소개했다 다음 방법
List<String> errors;
bool result = Obj.GetResult(out errors, int id);
에서 시작하지만 더러운 코드는 getResult를 방법 안에 표시하기 시작했다. 예를
public OperationResult GetResult(int id)
{
if (id == 0)
{
return new OperationResult { Result = false, Errors = {"Error"}};
}
if (id < 400)
{
var result = new OperationResult { Result = false, Errors = {"Error"}};
if (id >200)
result.Errors.Add("Error");
return result;
}
}
를 들어
은 그 때 나는 그들이 얻을 결과를 편집 할 수없는 결과 사용자를 걱정하기 시작했습니다.
데이터를 읽을 수만있는 OpearationResult 클래스에서 인터페이스를 추출했습니다.
는 지금은 ... 결과 빌더 클래스를 추가 할 수있어
그리고이 시점에서 내가 뭔가를 잘못하고 있어요 생각으로 시작했습니다
. 자전거를 재발 명하려고하거나 공중에서 문제를 일으키고 있습니다.이 모든 것들을 처리하는 방법에 대해 조언 해주십시오. 함수 프로그래밍 언어에서 어떻게 처리되는지 궁금합니다. (나는 불변성을 의미합니다)
모든 이유는 다음
OperationResult
객체를 생성 구축, 오류의 목록을 설정? –절대로 예외 남용을 좋아했는데, 이유는 MS가 예외 기반 UI 유효성 검사를 포기하도록 강요 한 것과 같은 이유 일 수 있습니다. – v00d00
throw 문을 과도하게 사용할 수 있습니다. 객체로 예외를 반환하는 것은 좋습니다. bool을 반환하는 메서드는 다른 방법으로는 꽤 나쁜 것입니다. –