我一直在想這個問題很長一段時間。建議從抽象類中的方法調用抽象方法
我執行此過程 -
process(){
bool allow=checkForPermission();
if(allow) {
processRequest();
}
sendResponse();
}
現在我與三個抽象方法的抽象類X:
abstract class X {
public abstract sendResponse();
public abstract checkPermission();
public abstract sendResponse();
public abstract example(); // some example which is called from sendResponse() from where it is implemented.
public void process() {
bool allow=checkForPermission();
if(allow) {
processRequest();
}
sendResponse();
}
}
類A延伸X;這是我不確定的地方。當A實現所有抽象方法時,並且在sendResponse()方法中,它正在調用IfError()函數,它是一個好設計嗎?
我的朋友建議這樣做:它的編譯器將首先調用X.process()然後再調用A實現的方法,並再次A到X(其中sendResponse()將調用example()方法),我的朋友說這不是一個好的設計:
X obj = new A();
obj.process();
它會是一個很好的設計?
這聽起來像模板模式:https://en.wikipedia.org/wiki/Template_method_pattern – quamrana