情境
A university and multiple host organizations manage internships where interns log attendance, mentors approve records, and academic supervisors evaluate final reports.
這張圖裡有什麼
看懂背後的決策。
01
Model shared user identity with an abstract User and a Role enumeration to keep cross-organization roles explicit.
02
Separate InternshipPlacement, AttendanceRecord, and EvaluationReport as distinct aggregates linked by association rather than inheritance.
03
Use composition from EvaluationReport to EvaluationCriterion because criteria exist only within a report.
Reuse for any internship or work-integrated learning platform that must track placement, daily attendance, approvals, and multi-role evaluations across organizations.