diff --git a/docs/DeveloperGuide.md b/docs/DeveloperGuide.md index e1632fbae25..b587c18c0d3 100644 --- a/docs/DeveloperGuide.md +++ b/docs/DeveloperGuide.md @@ -132,12 +132,6 @@ and all associated `Appointment` objects (which are contained in a `DisjointAppo * stores a `UserPref` object that represents the user’s preferences. This is exposed to the outside as a `ReadOnlyUserPref` objects. * does not depend on any of the other three components (as the `Model` represents data entities of the domain, they should make sense on their own without depending on other components) -
:information_source: **Note:** An alternative (arguably, a more OOP) model is given below. It has a `Tag` list in the `AddressBook`, which `Person` references. This allows `AddressBook` to only require one `Tag` object per unique tag, instead of each `Person` needing their own `Tag` objects.
- - - -
- ### Storage component diff --git a/docs/diagrams/ModelClassDiagram.puml b/docs/diagrams/ModelClassDiagram.puml index c387dc588bb..20469001469 100644 --- a/docs/diagrams/ModelClassDiagram.puml +++ b/docs/diagrams/ModelClassDiagram.puml @@ -23,6 +23,8 @@ Class Phone Class Tag Class Appointment Class Note +class Subject +class Level Class I #FFFFFF } @@ -48,7 +50,9 @@ Person *--> Phone Person *--> Email Person *--> Address Person *--> "*" Tag -Person *--> "*" Note +Person *--> Note +Person *--> Level +Person *--> "0...4" Subject Person -[hidden]up--> I UniquePersonList -[hidden]right-> I @@ -61,6 +65,8 @@ Name -[hidden]right-> Phone Phone -[hidden]right-> Address Address -[hidden]right-> Email Email -[hidden]right-> Tag +Tag -[hidden]right-> Subject +Subject -[hidden]right-> Level ModelManager --> "~* filtered" Person @enduml diff --git a/docs/images/ModelClassDiagram.png b/docs/images/ModelClassDiagram.png index d0a5071f213..8c327279236 100644 Binary files a/docs/images/ModelClassDiagram.png and b/docs/images/ModelClassDiagram.png differ