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