de:modul:ffit:3-jahr:java:learningunits:lu02:scanner

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
de:modul:ffit:3-jahr:java:learningunits:lu02:scanner [2025/08/25 23:33] apeterde:modul:ffit:3-jahr:java:learningunits:lu02:scanner [2025/08/29 11:51] (aktuell) – gelöscht apeter
Zeile 1: Zeile 1:
-====== LU02b - Refactoring und Optimierungen 1====== 
- 
-==== Prinzipien ==== 
- 
-  * **DRY (Don’t Repeat Yourself)** 
-  * **SRP (Single Responsibility Principle)** 
-  * //OCP (Open/Closed Principle)// 
-  * //LSP (Liskov Substitution Principle)// 
-  * //ISP (Interface Segregation Principle)// 
-  * //DIP (Dependency Inversion Principle)// 
-  * //KISS (Keep It Simple, Stupid)// 
-  * //YAGNI (You Ain’t Gonna Need It)// 
-  * //SoC (Separation of Concerns)// 
-  * //Law of Demeter (Principle of Least Knowledge)// 
- 
-SOLID steht wiederum für SRP, OCP, LSP, ISP, DIP 
- 
-Wir fokussieren uns erstmal auf **DRY** und **SRP**. 
- 
-=== DRY === 
- 
-Code ist viel simpler art- und erweiterbar, wenn man nur eine einzige Stelle anpassen muss. Duplizierte Code-Blöcke erhöhen die Fehleranfälligkeit und erschweren die Lesbarkeit. 
- 
-Wenn Sie zum Beispiel an zwei unterschiedlichen Orten denselben Datenbankaufruf haben, kann man diese Funktionalität auslagern in eine gemeinsame Methode (oder oftmals gar eine eigene Klasse). 
- 
-<code java> 
-Connection conn = DriverManager.getConnection(URL, USER, PASSWORD) 
-</code> 
- 
-<code java> 
-public class Database { 
-    private static final String URL = Config.get("DB_URL"); 
-    private static final String USER = Config.get("DB_USER"); 
-    private static final String PASSWORD = Config.get("DB_PASSWORD"); 
- 
-    public static Connection getConnection() throws SQLException { 
-        return DriverManager.getConnection(URL, USER, PASSWORD); 
-    } 
-} 
-</code> 
- 
-Kontrollieren Sie Ihren Code hinsichtlich dieses Prinzips und korrigieren Sie bei Bedarf. 
- 
-=== SRP === 
-Jede Klasse sollte nur einen Aufgabenbereich haben. Das Lesen und Schreiben von Dateien ist somit zu trennen von der Logik für den Zugriff auf die Datenbank usw. 
- 
- 
- 
- 
-Kontrollieren Sie Ihren Code hinsichtlich dieses Prinzips und korrigieren Sie bei Bedarf. 
-==== Design-Patterns ==== 
- 
-Es gibt zahlreiche Design-Patterns. Diese werden wird im späteren Verlauf des Semesters anschauen. 
- 
-^Creational Design Patterns ^Structural Design Patterns ^Behavioral Design Patterns | 
-|Factory Method|Adapter|Chain of Responsibility| 
-|Abstract Factory|Bridge|Command| 
-|Builder|Composite|Iterator| 
-|Prototype|Decorator|Mediator| 
-|Singleton|Facade|Memento| 
-| |Flyweight|Observer| 
-| |Proxy|State| 
-| | |Strategy| 
-| | |Template Method| 
-| | |Visitor| 
- 
-Mehr dazu auf https://refactoring.guru/design-patterns 
  
  • de/modul/ffit/3-jahr/java/learningunits/lu02/scanner.1756157591.txt.gz
  • Zuletzt geändert: 2025/08/25 23:33
  • von apeter