建造模式-追mm篇(转载)

 

MM最爱听的就是“我爱你”这句话了,见到不同地方的MM,要能够用她们的方言跟她说这句话哦。如果有一个多种语言翻译机,上面每种语言都有一个按键,见到MM我只要按对应的键,它就能够用相应的语言说出“我爱你”这句话了,国外的MM也可以轻松搞掂,这就是我的“我爱你” builder。(这一定比美军在伊拉克用的翻译机好卖)。
追MM必胜武器,我爱你Builder

 


i)抽象建造者(Builder)角色:给出一个抽象接口,以规范产品对象的各个组成成分的构造; ii)具体建造者(ConcretBuilder)角色:它在应用程序的调用下创建产品的实例。完成任务为; a) 实现抽象建造者Builder接口,给出一步步完成创建产品实例的操作; b) 在创建完成后,提供产品的实例。iii) 导演者(Director角色):调用具体建造者角色以创建产品对象; iv)产品(Product)角色:建造中的复杂对象。一般情况下,一个系统不止一个产品类。
产品角色

package builder; public interface Translate { }

具体产品

package builder; public class LoveTranslage implements Translate { }


建造者角色


package builder; public interface Builder { public void addEnglish(); public void addChinese(); public Translate retriveProduct(); }

具体建造者模式


package builder; public class LoveBuilder implements Builder { private Translate translate = new LoveTranslage(); public void addChinese() { System.out.println("翻译机可以说我爱你了"); } public void addEnglish() { System.out.println("翻译机可以说I LOVE YOU 了,你可以追外观MM了"); } public Translate retriveProduct() {  return translate; } }

导演者角色

package builder; public class Director { public void build(){ Builder build = new LoveBuilder();// new 一个建造者 /*  * 下面的语句,可以随意更换,删除  */ build.addChinese(); build.addEnglish(); Translate translate = build.retriveProduct();} public static void main(String [] args){  new Director().build(); } }

--尽管这个例子不算是很恰当,因为两个add方法算不上与translate类有很强的组合关系,但是还是比较有趣!

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值