额。晚上睡不着,接着写设计模式,
其实这个些玩意网上都有,不过都一本正经的跟老学究一样。让人看了生厌,且记不住。
- - 我决定改变这种状况,让所有看了我博客的孩子都深刻的记住这些设计模式。例如老王和王妃的故事
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的么?为啥装孙子了?
- - 答案下期揭晓。。。。
原文:http://my.oschina.net/lxy4java/blog/530455