Template模式封装的是算法
public class Coffee
{
void prepareRecipe()
{
boilWater();
brewCoffeeGrinds();
pourInCup();
addSugarAndMilk();
}
public void boilWater()
{
System.out.println("Boiling water");
}
public void brewCoffeeGrinds()
{
System.out.println("Dripping coffee through filter");
}
public void pourInCup()
{
System.out.println("Pouring into cup");
}
public void addSugarAndMilk()
{
System.out.println("Adding sugar and milk");
}
}
public class Tea
{
void prepareRecipe()
{
boilWater();
steepTeaBag();
pourInCup();
addLemon();
}
public void boilWater()
{
System.out.println("Boiling water");
}
public void steepTeaBag()
{
System.out.println("Steeping the tea");
}
public void addLemon()
{
System.out.println("Adding Lemon");
}
public void pourInCup()
{
System.out.println("Pouring into cup");
}
}
public abstract class CaffeineBeverage
{
final void prepareRecipe()
{
boilWater();
brew();
pourInCup();
addCondiments();
}
abstract void brew();
abstract void addCondiments();
void boilWater()
{
System.out.println("Boiling water");
}
void pourInCup()
{
System.out println("Pouring into cup");
}
}
public class Tea extends CaffeineBeverage
{
public void brew()
{
System.out.println("Steeping the tea");
}
public void addCondiments()
{
System.out.println("Adding Lemon");
}
}
public class Coffee extends CaffeineBeverage
{
public void brew()
{
}
}
453




被折叠的 条评论
为什么被折叠?



