diff options
| author | Fuwn <[email protected]> | 2025-11-20 21:39:18 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2025-11-20 21:53:25 -0800 |
| commit | 5ccd4667082a7ba69b737d252e239c3ac77fe658 (patch) | |
| tree | bbd4060335beb4332574993f499310b53ebed1d4 /diagrams/assignment_3/mmd/factory_pattern.mmd | |
| parent | feat: Implement Assignment 3 functionality (diff) | |
| download | cst276-5ccd4667082a7ba69b737d252e239c3ac77fe658.tar.xz cst276-5ccd4667082a7ba69b737d252e239c3ac77fe658.zip | |
feat: Add Assignment 3 diagram sources
Diffstat (limited to 'diagrams/assignment_3/mmd/factory_pattern.mmd')
| -rw-r--r-- | diagrams/assignment_3/mmd/factory_pattern.mmd | 57 |
1 files changed, 57 insertions, 0 deletions
diff --git a/diagrams/assignment_3/mmd/factory_pattern.mmd b/diagrams/assignment_3/mmd/factory_pattern.mmd new file mode 100644 index 0000000..78a04d4 --- /dev/null +++ b/diagrams/assignment_3/mmd/factory_pattern.mmd @@ -0,0 +1,57 @@ +classDiagram + class IEntityFactory~T~ { + <<interface>> + +CreateEntity(id, type, x, y, movement, feeding) T + +CreateMovementStrategy(movementType) IMovementStrategy + +CreateFeedingStrategy(behavior) IFeedingStrategy + } + + class MorgFactory { + +CreateEntity(...) Morg + +CreateMovementStrategy(...) IMovementStrategy + +CreateFeedingStrategy(...) IFeedingStrategy + -ParsePreyTypes(feedingParts) List~string~ + } + + class Entity { + <<abstract>> + } + + class Morg { + } + + class IMovementStrategy { + <<interface>> + } + + class MovementStrategyPaddles { + } + + class MovementStrategyOozes { + } + + class IFeedingStrategy { + <<interface>> + } + + class FeedingStrategyAbsorbs { + } + + class FeedingStrategyEnvelops { + } + + IEntityFactory~T~ <|.. MorgFactory : implements + MorgFactory ..> Morg : creates + MorgFactory ..> IMovementStrategy : creates + MorgFactory ..> IFeedingStrategy : creates + Entity <|-- Morg + IMovementStrategy <|.. MovementStrategyPaddles + IMovementStrategy <|.. MovementStrategyOozes + IFeedingStrategy <|.. FeedingStrategyAbsorbs + IFeedingStrategy <|.. FeedingStrategyEnvelops + Morg --> IMovementStrategy + Morg --> IFeedingStrategy + + note for MorgFactory "Creates Morg instances with +configured strategies and prey types +from file input" |