我一直在想这个问题很长一段时间。建议从抽象类中的方法调用抽象方法
我执行此过程 -
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