在設計我的api時,我正在考慮如何爲以下行爲建模。API設計問題
選項1看起來更合乎邏輯,但是實施不變量例如檢查電子表格實際上是否屬於工作簿。
選項2看起來很奇怪一個電子表格知道如何刪除自己,但實際上電子表格有一個對其父工作簿的引用,並可以直接將調用委託給他。
或者這是真的不是一個有效的情況,因爲工作簿需要驗證它的電子表格不管是什麼?想法?
Workbook wb = new Workbook("Finances");
Spreadsheet ss = wb.CreateSpreadsheet("Bob's");
// option 1:
wb.RemoveSheet(ss);
// option 2:
ss.RemoveFromWorkbook();
謝謝大家
爲什麼不是兩個?在我看來,選項2可以簡單地稱爲選項1,或者反之亦然。 – Reddog