vault backup: 2025-01-17 11:54:18
This commit is contained in:
1
.obsidian/plugins/text-extractor/cache/09345599bbeb1fd28a2a96eed50cc87f.json
vendored
Normal file
1
.obsidian/plugins/text-extractor/cache/09345599bbeb1fd28a2a96eed50cc87f.json
vendored
Normal file
@@ -0,0 +1 @@
|
|||||||
|
{"path":"Attachments/Pasted image 20250117112716.png","text":"AnyGraphicsClient PCGraphicsService . . e e P U -myGraphics: PCGraphicsService +drawRectangle( +anyOperationThatDraws() +drawCircle() PCLinuxGraphicsAdapter LinuxGraphicsService E — — I —— e —— (MR +drawRectangle() +drawRect() +drawCircle() +drawCirc()","libVersion":"0.3.2","langs":"deu+eng+fra"}
|
||||||
2
.obsidian/workspace.json
vendored
2
.obsidian/workspace.json
vendored
@@ -537,6 +537,7 @@
|
|||||||
},
|
},
|
||||||
"active": "0276c662bb61f53b",
|
"active": "0276c662bb61f53b",
|
||||||
"lastOpenFiles": [
|
"lastOpenFiles": [
|
||||||
|
"Attachments/Pasted image 20250117112716.png",
|
||||||
"0 Journal/0 Daily/2025-01-17.sync-conflict-20250117-094333-LIUMLEB.md",
|
"0 Journal/0 Daily/2025-01-17.sync-conflict-20250117-094333-LIUMLEB.md",
|
||||||
"Attachments/Pasted image 20250117104237.png",
|
"Attachments/Pasted image 20250117104237.png",
|
||||||
"0 Journal/0 Daily/2025-01-17.sync-conflict-20250117-104331-LIUMLEB.md",
|
"0 Journal/0 Daily/2025-01-17.sync-conflict-20250117-104331-LIUMLEB.md",
|
||||||
@@ -574,7 +575,6 @@
|
|||||||
"Dashboard Canvas.canvas",
|
"Dashboard Canvas.canvas",
|
||||||
"0 Journal/Meetings/Vidit Update - 8.1.25.md",
|
"0 Journal/Meetings/Vidit Update - 8.1.25.md",
|
||||||
"0 Journal/0 Daily/2025-01-15.md",
|
"0 Journal/0 Daily/2025-01-15.md",
|
||||||
"Temporary/Startup Culture List.md",
|
|
||||||
"Attachments/Gym-Rings-UK.pdf",
|
"Attachments/Gym-Rings-UK.pdf",
|
||||||
"99 Work/Jobhunt/Applications",
|
"99 Work/Jobhunt/Applications",
|
||||||
"99 Work/0 OneSec/OneSecNotes/30 Engineering Skills/Robotics/Sensors",
|
"99 Work/0 OneSec/OneSecNotes/30 Engineering Skills/Robotics/Sensors",
|
||||||
|
|||||||
@@ -32,7 +32,7 @@ status: not_started
|
|||||||
|
|
||||||
|
|
||||||
---
|
---
|
||||||
## Chapters
|
## Introduction
|
||||||
### Getting Started
|
### Getting Started
|
||||||
|
|
||||||
> [!definition] UML Notation
|
> [!definition] UML Notation
|
||||||
@@ -183,11 +183,55 @@ Goal: objects of class T may be replaced with objects of class S without alterin
|
|||||||
- No new exceptions should be introduced in subclass S
|
- No new exceptions should be introduced in subclass S
|
||||||
--> A subclass S must require no more and promise no less than its superclass T
|
--> A subclass S must require no more and promise no less than its superclass T
|
||||||
|
|
||||||
Example:
|
Example: the contract requires must be the same or less strict (preconditions) and for the guarantees the subclass must guarantee the same or more than the superclass T (postconditions)
|
||||||
|
|
||||||
|
Be cautious about *accidental polymorphisms*: a completely different class that uses the same names. Usually the requires and guarantees are very different. This means syntax is the same, but semantics are different. Syntactically substitutionable but not semantically substitubable.
|
||||||
|
|
||||||
|
#### Design Principle: Favor Association over Inheritance
|
||||||
|
Inheritance cannot change the behaviour at run-time: a rectangle shape cannot morph into a circle shape.
|
||||||
|
|
||||||
|
## Design Patterns
|
||||||
|
Patterns are not mutually exclusive and can be used on top of each other.
|
||||||
|
|
||||||
|
|
||||||
|
### Adapter Pattern
|
||||||
|
- No prerequisits
|
||||||
|
- Usually problems have same semantic, but a different syntax.
|
||||||
|
- Reasons: too much client code to change, code not accessible, many clients that use the same code
|
||||||
|
- Adapters are an intermediate code block that adapts the syntax between the two parts.
|
||||||
|
- meaning you have one more layer, thus slightly less performance.
|
||||||
|
- ![[Pasted image 20250117112716.png]]
|
||||||
|
- use an adapter base class (PCLinuxGraphicsAdapter)
|
||||||
|
- There is no guarantee that it is only the syntax that changes, maybe you need to adapt the semantics as well.
|
||||||
|
### Façade
|
||||||
|
|
||||||
|
### Bridge
|
||||||
|
|
||||||
|
### Strategy
|
||||||
|
|
||||||
|
### Composite
|
||||||
|
|
||||||
|
### Observer
|
||||||
|
|
||||||
|
### Template Method
|
||||||
|
|
||||||
|
### Factory Method
|
||||||
|
|
||||||
|
### Abstract Factory
|
||||||
|
|
||||||
|
### Singleton
|
||||||
|
|
||||||
|
### Iterator
|
||||||
|
|
||||||
|
### Proxy
|
||||||
|
|
||||||
|
### Decorator
|
||||||
|
|
||||||
|
### Command
|
||||||
|
|
||||||
|
### State
|
||||||
|
|
||||||
|
### Data Access Object
|
||||||
|
|
||||||
---
|
---
|
||||||
## Exercises
|
## Exercises
|
||||||
|
|||||||
BIN
Attachments/Pasted image 20250117112716.png
Normal file
BIN
Attachments/Pasted image 20250117112716.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 661 KiB |
Reference in New Issue
Block a user