0
我正在爲當地政府實施與學校相關的應用程序。我有課,我想用下面的公式來計算分數:grade = acedemicYear - commencingYear + 1
。我應該如何在DDD中使用單身人士?
您可以推估此2種方式:
- commencingYear和academicYear都有一個年型,acedemicYear年是某種單的,所以
AcademicYear.getInstance() - this.commencingYear + 1
- 是commencingYear有型AcademicYear的另一種解決方案,我有一個Calendar類,這給了我當年,所以
Calendar.getAcademicYear() - this.commencingYear + 1
但我不覺得這些是正確的。我不確定我是應該在模型中注入一年,還是應該在模型中。另一個問題是,學年應該或多或少地手動改變,至少每年都會在不同的日期開始。通過增加學年,大於等於8意味着班級已經完成,所以該班的孩子不應該在當前的學生名單上。你認爲什麼是建模的最佳方式?
謝謝!所以如果我理解的很好,我可以創建一個域名服務'currentAcademicYear = CalendarService.getAcademicYear()'並用'CalendarService.finish(currentAcademicYear)'完成一年。或者我可以從它創建一個實體'currentAcademicYear = AcademicYearRepo.getCurrentAcademicYear()'和'currentAcademicYear.finish()'。或者我可以使用日期類型與服務,我認爲這很複雜,因爲學年從9月初開始,但在每年的不同日子。我認爲在我的模型中最好有一個AcademicYear實體。 – inf3rno
我不明白你的模型或規則,所以很難說。我只能說,你應該以某種方式保護業務規則。因此,如果未來發生變化,那麼只有一個地方需要修改。 – jgauffin
我知道,但我不想談太多。我認爲一個實體比在這個模型中使用域服務或日期類型好得多。你幫了很多,謝謝! – inf3rno