Główna klasa będzie wyglądała następująco:
public class LoggerOCP {
private MessageLogger messageLogger;
public LoggerOCP(MessageLogger messageLogger) {
this.messageLogger = messageLogger;
}
public void log(String message) throws Exception {
messageLogger.log(message);
}
}
Teraz możemy bardzo łatwo dodać kolejne sposoby logowania i to bez wpływu na główną klasę programu. W tym przypadku zachowujemy zgodność z zasadą otwarte zamknięte. Kod jest otwarty na rozbudowę, ale zamknięty na zmiany.
Pages: 1 2

