Если у меня есть класс, который я хочу принять дополнительный регистратор для записи отладочной информации:
public class A {
private Logger logger ;
public A( Logger logger ) {
this.logger = logger ;
}
public A() {
this( null ) ;
}
public void hello() {
logger.debug( "hello" ) ;
}
public void goodbye() {
logger.warn( "goodbye" ) ;
}
}
Можно ли как-нибудь избежать необходимости постоянных нулевых проверок?
public void hello() {
if( logger != null ) {
logger.debug( "hello" ) ;
}
}
public void goodbye() {
if( logger != null ) {
logger.warn( "goodbye" ) ;
}
}
Я подумал, что, может быть, если я сделаю класс-оболочку логгера, он сможет выполнить проверки для меня, а затем либо ничего не делать, либо записать сообщение. Но тогда мне нужно было бы обернуть каждый метод, который я хотел бы использовать.