diff --git a/.obsidian/plugins/text-extractor/cache/da040a3f8a6f4e9876042653a2b55238.json b/.obsidian/plugins/text-extractor/cache/da040a3f8a6f4e9876042653a2b55238.json new file mode 100644 index 0000000..4a4207b --- /dev/null +++ b/.obsidian/plugins/text-extractor/cache/da040a3f8a6f4e9876042653a2b55238.json @@ -0,0 +1 @@ +{"path":"Attachments/Pasted image 20250117115604.png","text":"Variations on the Theme: Class Adapter in Java (Almost) _ Adaptee | et il 5 i x","libVersion":"0.3.2","langs":"deu+eng+fra"} \ No newline at end of file diff --git a/.obsidian/workspace.json b/.obsidian/workspace.json index 25171ce..8bd52c9 100644 --- a/.obsidian/workspace.json +++ b/.obsidian/workspace.json @@ -537,6 +537,7 @@ }, "active": "0276c662bb61f53b", "lastOpenFiles": [ + "Attachments/Pasted image 20250117115604.png", "Attachments/Pasted image 20250117112716.png", "0 Journal/0 Daily/2025-01-17.sync-conflict-20250117-094333-LIUMLEB.md", "Attachments/Pasted image 20250117104237.png", @@ -557,7 +558,6 @@ "Attachments/Pasted image 20250116163115.png", "Temporary/Untitled 1.md", "Attachments/Pasted image 20250116161534.png", - "Attachments/Pasted image 20250116161217.png", "Temporary/Untitled.md", "5 Media/0 Books/Design Patterns by null.md", "5 Media/0 Books/null by null.md", diff --git a/5 Media/8 Courses/Design Patterns by Construx.md b/5 Media/8 Courses/Design Patterns by Construx.md index 74c9097..dcd3f95 100644 --- a/5 Media/8 Courses/Design Patterns by Construx.md +++ b/5 Media/8 Courses/Design Patterns by Construx.md @@ -203,6 +203,21 @@ Patterns are not mutually exclusive and can be used on top of each other. - ![[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. +- Object vs class adaption. + - In multiple inheritance classes like C++ you inherit from both Target and Adaptee + - ![[Pasted image 20250117115604.png]] +- Relationship to fundamental design principles + - design to invariants/desing for change + - encapsulation + - liskov substitutability + - high cohesion/loose coupling + + +> [!Important] Key Points +> - minimizes code changes +> - portability across multiple providers +> - two versions: object vs class adapter + ### Façade ### Bridge diff --git a/Attachments/Pasted image 20250117115604.png b/Attachments/Pasted image 20250117115604.png new file mode 100644 index 0000000..e4aa650 Binary files /dev/null and b/Attachments/Pasted image 20250117115604.png differ