人物:屌丝和屌丝的妻子
故事:屌丝想要个孩子,每次都要经历上床papap生孩子
要点:把一些过程化或者顺序化的东西封装起来,操作者看来只是操作一件事情,很好的屏蔽内部细节。
1.定义生孩子标准过程
package org.senssic.design.face;
public interface IGiveBirth {
/**
* @Description: TODO
* @author qiss
* @date 2014年6月13日 下午2:04:28
*/
public void gotoBad();
public void papapa();
public void giveBirth();
}
2.定义生孩子的实现
package org.senssic.design.face;
public class GiveBirthImpl implements IGiveBirth {
@Override
public void gotoBad() {
System.out.println("上床啦,心里还有些小激动呢!");
}
@Override
public void papapa() {
System.out.println("问天问大地,世上还有比papap更开心的事情么!");
}
@Override
public void giveBirth() {
System.out.println("哇,love的结晶啊");
}
}
3.屌丝感觉生孩子过程太麻烦,这时候有个生孩子服务机构产生
package org.senssic.design.face;
/**
*
* @ClassName: GiveBirthService
* @Description: 生小孩服务公司
* @author senssic
* @date 2014年6月13日 下午2:10:53
*
*/
public class GiveBirthService {
private final IGiveBirth gBirth = new GiveBirthImpl();
public void giveABoy() {
gBirth.gotoBad();
gBirth.papapa();
gBirth.giveBirth();
}
}
4.屌丝享受生孩子服务
package org.senssic.design.face;
public class DiaoSi {
public static void main(String[] args) {
GiveBirthService gService = new GiveBirthService();
gService.giveABoy();
}
}