模板方法
父类中定义一个算法的框架,这个框架的一些步骤由子类实现,可以在子类不修改算法结构的前提下自定义某些步骤。
代码
网络连接都需要遵循 TCP 四层协议,依次是 应用层,链路层,网络层,网络接口层。对应的顺序是固定不变的,但是其中四层里面具体怎么做可以由自己决定。
public abstract class Web{
void request(){
// 调用应用层
applicationLayer();
// 链路层
linkLayer();
// 网络层
networkLayer();
// 网络接口层
networkInterfaceLayer();
}
abstract applicationLayer();
abstract linkLayer();
abstract networkLayer();
abstract networkInterfaceLayer();
}
public class WebConcrete1{
void applicationLayer(){
System.out.println("在应用层调用了 HTTP 协议");
};
void linkLayer(){
System.out.println("在链路层调用了 TCP 协议");
};
void networkLayer(){
System.out.println("在网络层调用了 IPV4 协议");
};
void networkInterfaceLayer();
}
public class WebConcrete2{
void applicationLayer(){
System.out.println("在应用层调用了 FTP 协议");
};
void linkLayer(){
System.out.println("在链路层调用了 UDP 协议");
};
void networkLayer(){
System.out.println("在网络层调用了 IPV6 协议");
};
void networkInterfaceLayer();
}