zu verbessern Wie kann ich das Design des unten stehenden Codes verbessern:loswerden, wenn Aussagen Code-Design
class Foo {
public Configuration configure() {
return new Configuration().withPropertyA().withPropertyB();
}
}
class Configuration{
private boolean propertyA = false;
private boolean propertyB = false;
public Configuration withPropertyA() {
this.propertyA = true;
return this;
}
public Configuration withPropertyB() {
this.propertyB = true;
return this;
}
public boolean hasPropertyA() {
return this.propertyA;
}
public boolean hasPropertyB() {
return this.propertyB;
}
...
}
class Client{
public void someMethod(Configuration config) {
if (config.hasPropertyA() {
doStuffA();
}
if (config.hasPropertyB() {
doStuffB();
}
//...
}
}
Ie, hält die Konfigurationsklasse einige Flags für den Anrufer (Client
), die dem Anrufer sagen, was "Dinge" müssen konfiguriert werden. Der Client weiß, was für die einzelnen Flags zu tun ist, wenn sie gesetzt sind. Ich möchte die if-Anweisung in Client
sowie das Konzept der einfachen Einstellung boolescher Flags in der Configuration
Instanz loswerden. Können Sie einen eher "generischen" und objektorientierten Ansatz vorschlagen?
freundlichen Grüßen
Code-Optimierung ist in der Regel Off-Thema ... –