Add all 23 GoF design pattern implementations (2026-06-13)

This commit is contained in:
Ankur
2026-06-13 21:44:56 +05:30
commit a5beb61425
106 changed files with 2977 additions and 0 deletions

View File

@@ -0,0 +1,22 @@
package observer;
/** Fires an alert when the price changes by more than a threshold % */
public class AlertObserver implements StockObserver {
private final String name;
private final double thresholdPercent;
public AlertObserver(String name, double thresholdPercent) {
this.name = name;
this.thresholdPercent = thresholdPercent;
}
@Override
public void onPriceChanged(String ticker, double oldPrice, double newPrice) {
double change = Math.abs((newPrice - oldPrice) / oldPrice * 100);
if (change >= thresholdPercent) {
System.out.printf(" [ALERT:%s] %s moved %.1f%% — ALERT TRIGGERED%n", name, ticker, change);
} else {
System.out.printf(" [Alert:%s] %s moved %.1f%% — within threshold%n", name, ticker, change);
}
}
}