내 API를 디자인하는 동안 다음과 같은 동작을 어떻게 모델링하고 싶은지 생각하고 있습니다.API 디자인 질문
옵션 1이 더 논리적 인 것처럼 보이지만 스프레드 시트가 실제로 통합 문서에 속하는지 확인하는 것과 같은 불변식이 적용됩니다.
옵션 2는 스프레드 시트에서 스프레드 시트를 제거하는 방법을 알고 있지만 사실 스프레드 시트에는 부모 통합 문서에 대한 참조가 있으며 직접 전화를 위임 할 수 있습니다.
또는 실제로 통합 문서가 스프레드 시트의 유효성을 검사해야하므로 유효하지 않습니다. 생각?
Workbook wb = new Workbook("Finances");
Spreadsheet ss = wb.CreateSpreadsheet("Bob's");
// option 1:
wb.RemoveSheet(ss);
// option 2:
ss.RemoveFromWorkbook();
내가 wb.Sheets.Remove (SS)를 사용하는 것이 당신에게 모두
왜 둘 다 있지 않습니까? 옵션 2는 단순히 옵션 1을 호출 할 수 있거나 그 반대 일 수 있습니다. – Reddog