⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 c_template.java

📁 超好的设计模式Java事例程序
💻 JAVA
字号:

/*
看过《恋爱三步曲》这部经典文章吗?相识、热恋、分手(Template method),
但每个步骤针对不同的情况,都有不一样的做法,这就要看你随机应变啦(具体实现); 

  模板方法模式:模板方法模式准备一个抽象类,将部分逻辑以具体方法以及
	具体构造子的形式实现,然后声明一些抽象方法来迫使子类实现剩余的逻辑。
	不同的子类可以以不同的方式实现这些抽象方法,从而对剩余的逻辑有不同的实现。
	先制定一个顶级逻辑框架,而将逻辑的细节留给具体的子类去实现。 
 */
 
 /*应用示例
  
使用过Spring + Hibernate开发过的人,在写DAO的时候都使用过Spring的
HibernateDaoSupport类,然后在实现的时候就可以很轻松的使用getHibernateTemplate()
方法之后就可以调用save()、delete()、update()等Hibernate的Session的操作,很简单。
  */
public class C_template{
	public static void main(String[] args) {
		LoveProcess ml=new MyLove();
		ml.fallInLove();
		ml=new YourLove();
		ml.fallInLove();
	}
}


abstract class LoveProcess {
	public abstract void meet();
	public abstract void love();
	public abstract void away();
	public final void fallInLove(){
		this.meet();
		this.love();
		this.away();
	}
}

class MyLove extends LoveProcess{
	public void meet(){
		System.out.println("偶尔的一次网聊开始了一段网恋... ...");
	}
	public void love(){
		System.out.println("死去活来,天昏地暗... ...");
	}
	public void away(){
		System.out.println("默然回首,那人却在灯火阑珊处。");
	}
}

class YourLove extends LoveProcess{
	public void meet(){
		System.out.println("父母给你们订了个娃娃亲... ...");
	}
	public void love(){
		System.out.println("你是谁,我们在一起干吗?");
	}
	public void away(){
		System.out.println("各过各的。");
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -