我可以使用此模板方法模式将逻辑与日志记录和异常处理分开,还是“不好的做法”?
例如我有这个代码:
public abstract class Parent {
private final Logger log = LoggerFactory.getLogger(getClass());
public void eat() {
try {
doEat();
} catch (SomeException1 e) {
log.debug("some text");
throw new CustomException1();
}
}
protected abstract void doEat();
public void sleep() {
try {
doSleep();
} catch (SomeException2 e) {
log.debug("some text");
throw new CustomException2();
}
}
protected abstract void doSleep();
}
还有我的孩子班:
public class Child extends Parent {
@Override
protected void doEat() {
//some logic
}
@Override
protected void doSleep() {
//some logic
}}
我不会有不同的方法实现doEat()
和doSleep()
.
我想知道它是否值得,它是否是“坏习惯”。