java 的23种设计模式 之装B者模式

额。晚上睡不着,接着写设计模式,

其实这个些玩意网上都有,不过都一本正经的跟老学究一样。让人看了生厌,且记不住。

- - 我决定改变这种状况,让所有看了我博客的孩子都深刻的记住这些设计模式。例如老王和王妃的故事

http://my.oschina.net/lxy4java/blog/529681

今天让我们来看看装B者模式。

某天小王要去OSC面试。然而面试官是@红薯 。


作为一个面试者每个人都要回答这些问题

package decorator;

public interface Interviewer {
 
	/**
	 * 自我介绍
	 * */
	void selfDescription();
	/***
	 * 你擅长那些技能
	 * */
	void skillDescription();
	/**
	 * 你还有其他问题么
	 * */
	void otherQuestion();
}

然后年轻,刚毕业的小王,额,还没变成老王,我们的目的是把小王送入OSC,然后就可以期待小王和OSC一起慢慢的变老。

这时候就可以求与老王做同事的OSCers的心里阴影面积,求那一夜大菲的故事 ,等等。。等等。。

废话不多说看小王。

package decorator;
public class LittleWang implements Interviewer{
@Override
public void selfDescription() {
System.out.println("我很帅");
}
@Override
public void skillDescription() {
System.out.println("我写代码很NB");
}
@Override
public void otherQuestion() {
System.out.println("公司的福利有哪些");
}
}

o(︶︿︶)o 唉,我只能说,小王还太年轻,这么回答肯定是不能过关的。于是我们需要帮小王包装下。。先看看猎头

package decorator;
public class HeadHunting implements Interviewer{
private Interviewer interviewer;
@Override
public void selfDescription() {
interviewer.selfDescription();
}
@Override
public void skillDescription() {
interviewer.skillDescription();
}
@Override
public void otherQuestion() {
interviewer.otherQuestion();
}
}

作为一个猎头,需要满足东家的需求,会问面试者 东家指定的问题,并将人才的回答转告给东家。让东家对人才进行选择。

于是猎头Lagou推荐了小王的简历,不过,Lagou对小王的回答做了下修饰。。

package decorator;
public class Lagou extends HeadHunting {
public Lagou(Interviewer interviewer) {
super(interviewer);
}
@Override
public void selfDescription() {
super.selfDescription();
System.out.println("当然,肯定没有红薯帅,红薯是世界上最帅的男人");
}
@Override
public void skillDescription() {
super.skillDescription();
System.out.println("之所以这么NB,都是看红薯的博客成长起来的。");
}
@Override
public void otherQuestion() {
super.otherQuestion();
System.out.println("比如:能否给一个红薯的签名?");
}
}


在某一天 红薯收到了这猎头拉钩推荐的这份简历,然后。。。

public static void main(String[] args) {
Interviewer viewer = new Lagou(new LittleWang());
viewer.selfDescription();
viewer.skillDescription();
viewer.otherQuestion();
}

输出结果如下:

我很帅

当然,肯定没有红薯帅,红薯是世界上最帅的男人

我写代码很NB

之所以这么NB,都是看红薯的博客成长起来的。

公司的福利有哪些

比如:能否给一个红薯的签名?


。。。

似乎跟说的不一样,不是说好了装B的么?为啥装孙子了?

- - 答案下期揭晓。。。。

你可能感兴趣的:(java 的23种设计模式 之装B者模式)