w11 design patterns

This commit is contained in:
Andrea Bianchi
2026-04-30 21:32:03 +09:00
parent fec15709e7
commit bd2b95ea1e
6 changed files with 135 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
class Subject {
- observers: Observer []
+ constructor();
+ subscribe(observer: Observer);
+ unsubscribeAll();
+ unsubscribe(observer);
+ notifiSubstribers();
}
class Observer {
+ {abstract} update(src: Subject);
}
class Fish extends Subject {
- species: String;
- weight: Number;
+ constructor(weight: Number);
+ getWeight(): Number;
+ getSpecies(): String;
}
class Salmon extends Fish {
+ constructor();
}
class Tuna extends Fish {
+ constructor();
}
class Fisherman extends Observer {
- name: String;
+ constructor(name: String);
+ update(src);
}
Fisherman "1" -left- "many" Fish : has