Anwendungsfall:
Eine Fassaden-Methode für mehrere Rollen
if-elseif-else-Verteiler im Code
Eventuell notwendig aufgrund Altlasten
(Code bereits so aufgebaut),
Code-Wiederverwendung (Unterprogramme) oder
wegen Framework
/**
* Prüfe Vertrag Zentrale oder Niederlassung.
* @param constraint (Z or N)
*/
public static void pruefeVertrag(
final Vertrag vertrag ,
final ORB_Z_N_ORE constraint ) {
allgemeinere Methode soll speziellere Methode(n) aufrufen
/**
* Prüfe Vertrag Zentrale.
* @param constraint Z
*/
public static void pruefeVertrag(
final Vertrag vertrag ,
final ZConstraint constraint ) {
...
}
/**
* Prüfe Vertrag Niederlassung.
* @param constraint N
*/
public static void pruefeVertrag(
final Vertrag vertrag ,
final NConstraint constraint ) {
...
}