在设计我的 api 时,我正在考虑如何对以下行为进行建模。
选项 1 似乎更合乎逻辑,但随之而来的是强制执行不变量,例如检查电子表格是否确实属于工作簿。
选项 2 看起来很奇怪,电子表格知道如何删除自己,但实际上电子表格有对其父工作簿的引用,并且可以将调用直接委托给他。
或者这真的不是一个有效的案例,因为无论如何工作簿都需要验证它的电子表格?想法?
Workbook wb = new Workbook("Finances");
Spreadsheet ss = wb.CreateSpreadsheet("Bob's");
// option 1:
wb.RemoveSheet(ss);
// option 2:
ss.RemoveFromWorkbook();
谢谢大家