追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(); 
  } 

 


本文转自 randy_shandong 51CTO博客,原文链接:http://blog.51cto.com/dba10g/229230,如需转载请自行联系原作者
相关文章
|
关系型数据库 MySQL Linux
【Linux环境】centos安装mysql5.7.26报 ./mysqld: error while loading shared libraries: libaio.so.1: cannot op
【Linux环境】centos安装mysql5.7.26报 ./mysqld: error while loading shared libraries: libaio.so.1: cannot op
957 0
|
11月前
|
SQL Oracle 关系型数据库
SQL查询默认表空间的技巧与方法
在数据库管理中,表空间是存储数据库对象(如表、索引等)的逻辑空间单元
|
监控 数据库 时序数据库
性能监控之Telegraf+InfluxDB+Grafana window服务器安装使用
【6月更文挑战13天】性能监控之Telegraf+InfluxDB+Grafana window服务器安装使用
666 1
|
Java Spring
在Spring Boot中配置Thymeleaf的模板路径
在Spring Boot中配置Thymeleaf的模板路径
979 0
|
开发工具 git Shell
在git命令行下查看git stash里面文件的内容
终于建了一个自己个人小站:https://huangtianyu.gitee.io,以后优先更新小站博客,欢迎进站,O(∩_∩)O~~ 在使用git的时候往往会保存一些东西,在保存的时候使用的就是git stash,强大的git使得保存修改和恢复修改变的很容易,但有时候时间久了不记得stash里面的内容是什么了,通过在stackflow里面查找,找到了一个好的方法。
7496 0
|
安全 数据安全/隐私保护
IT知识百科:什么是堡垒机?
IT知识百科:什么是堡垒机?
509 0
|
SQL 分布式计算 BI
MaxCompute笛卡尔积逻辑的参数优化&复杂JOIN逻辑优化
这篇文章主要讲一个SQL优化反映的两个优化点。分别是: 一、笛卡尔积逻辑的参数优化。 二、一个复杂JOIN逻辑的优化思路。
2562 2
MaxCompute笛卡尔积逻辑的参数优化&复杂JOIN逻辑优化
|
人工智能 图形学
Unity 接入有道智云AI - 文本翻译
Unity 接入有道智云AI - 文本翻译
533 1
Unity 接入有道智云AI - 文本翻译
|
存储 缓存 JSON
基于 FastAPI 的房源租赁系统设计与实现
传统的线下租房不便、途径少、信息更新慢,导致房屋租赁效率低。为了有效的提升租赁效率和房源信息管理、提供更优质的租赁服务。让房东出租宣传展示与房源管理、租客更好的检索房源信息、发布租房需求以及入住预定、后台房源管理、审核等一站式租赁服务平台。
|
数据安全/隐私保护 Windows
Windows 技术篇-搜狗输入法中文状态下却输入为英文,原因及解决办法。明明是中文却输入不了中文,只能输入英文
Windows 技术篇-搜狗输入法中文状态下却输入为英文,原因及解决办法。明明是中文却输入不了中文,只能输入英文
1542 0
Windows 技术篇-搜狗输入法中文状态下却输入为英文,原因及解决办法。明明是中文却输入不了中文,只能输入英文