Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
| Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
| de:modul:ffit:3-jahr:java:learningunits:lu05:b [2025/09/15 11:02] – angelegt apeter | de:modul:ffit:3-jahr:java:learningunits:lu05:b [2025/09/16 06:46] (aktuell) – apeter | ||
|---|---|---|---|
| Zeile 1: | Zeile 1: | ||
| - | ====== LU05b - Prinzipien | + | ====== LU05b - Prinzipien |
| - | ==== Prinzipien ==== | + | ===== Prinzipien |
| * //DRY (Don’t Repeat Yourself)// | * //DRY (Don’t Repeat Yourself)// | ||
| Zeile 16: | Zeile 16: | ||
| SOLID steht wiederum für SRP, OCP, LSP, ISP, DIP | SOLID steht wiederum für SRP, OCP, LSP, ISP, DIP | ||
| - | Wir fokussieren uns erstmal | + | Wir fokussieren uns dieses Mal auf **LSP** und **ISP**. |
| - | === DRY === | + | ==== LSP ==== |
| - | Code ist viel simpler art- und erweiterbar, wenn man nur eine einzige Stelle anpassen | + | Das Liskov Substitution Principle besagt, dass ein Programm, das Objekte einer Basisklasse T verwendet, auch mit Objekten der davon abgeleiteten Klasse S korrekt funktionieren |
| - | Wenn Sie zum Beispiel | + | Folgendes |
| - | < | + | {{: |
| - | Connection conn = DriverManager.getConnection(URL, | + | |
| - | </ | + | |
| - | <code java> | + | Besser wäre es die Klasse '' |
| - | public class Database { | + | |
| - | private static final String URL = Config.get(" | + | |
| - | private static final String USER = Config.get(" | + | |
| - | private static final String PASSWORD = Config.get(" | + | |
| - | public static Connection getConnection() throws SQLException { | + | ==== ISP ==== |
| - | | + | Das Interface Segregation Principle besagt, dass Interfaces nur logisch untrennbare Methoden vorgeben sollten. Das heisst in diesem Beispiel, die Methoden '' |
| - | } | + | |
| - | } | + | |
| - | </ | + | |
| - | Kontrollieren Sie Ihren Code hinsichtlich dieses Prinzips und korrigieren Sie bei Bedarf. | + | {{: |
| - | === SRP === | + | Ist dies nicht der Fall, so sollte |
| - | Jede Klasse | + | |
| - | Kontrollieren Sie Ihren Code hinsichtlich dieses Prinzips und korrigieren Sie bei Bedarf. | + | {{: |
| - | Ein möglicher Aufbau der Klassen könnte folgendermassen aussehen. | ||
| - | {{: | ||