diff options
Diffstat (limited to 'diagrams/assignment_3/mmd/framework_architecture.mmd')
| -rw-r--r-- | diagrams/assignment_3/mmd/framework_architecture.mmd | 52 |
1 files changed, 52 insertions, 0 deletions
diff --git a/diagrams/assignment_3/mmd/framework_architecture.mmd b/diagrams/assignment_3/mmd/framework_architecture.mmd new file mode 100644 index 0000000..744f29f --- /dev/null +++ b/diagrams/assignment_3/mmd/framework_architecture.mmd @@ -0,0 +1,52 @@ +graph TD + subgraph "Framework Layer" + A[Entity<br/>Abstract Base] + B[Simulator~T~<br/>Abstract with Template Method] + C[EntityReader~T~<br/>Abstract] + D[IEntityFactory~T~<br/>Interface] + E[IEntityIterator~T~<br/>Interface] + end + + subgraph "Morg Specialisation" + F[Morg<br/>Inherits Entity] + G[Dish<br/>Inherits Simulator~Morg~] + H[MorgReader<br/>Inherits EntityReader~Morg~] + I[MorgFactory<br/>Implements IEntityFactory~Morg~] + end + + subgraph "Strategy Pattern" + J[IMovementStrategy] + K[IFeedingStrategy] + L[MovementStrategyPaddles] + M[MovementStrategyOozes] + N[FeedingStrategyAbsorbs] + O[FeedingStrategyEnvelops] + end + + subgraph "Decorator Pattern" + P[FileReader] + Q[CSVReader] + R[MorgReader] + end + + A --> F + B --> G + C --> H + D --> I + E --> S[EntityIterator~T~] + + F --> J + F --> K + J --> L + J --> M + K --> N + K --> O + + P --> Q + Q --> R + R --> H + + I --> F + I --> J + I --> K +
\ No newline at end of file |