博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
建造设计模式
阅读量:6707 次
发布时间:2019-06-25

本文共 1215 字,大约阅读时间需要 4 分钟。

hot3.png

package JAVABasic;/** * 建造模式(Builder) 将一个对象的内部表象和建造过程分割,  * 一个建造过程可以造出不同表象的对象。可简化为模版方法模式. *  * @author markGao *  */public class BuilderMode {    // 顾客调用    public static void main(String[] args) {        //顾客点菜        Food f = new TangcuXiaoPai(); // 目前还是一盘不能吃的食物。        Director  d = new Director(f); // 指挥者        d.supplyFood(); //现在是一盘加工之后可以吃的食物了。            }}/** * 做菜所需要的步骤 */interface Food {    public void You(); // 放油    public void Yan(); // 放盐    public void Shui(); // 加水,,,等等是做菜不可缺少的步骤}/** * 宫保鸡丁 * @author markGao */class GongbaoJiding implements Food {    public void You() {    }    public void Yan() {    }    public void Shui() {    }}/** * 糖醋小排 *  * @author markGao *  */class TangcuXiaoPai implements Food {    public void You() {    }    public void Yan() {    }    public void Shui() {    }}/** *  建造者模式当中还有一个重要的类,就是指挥者,它和客户和做菜人之间打交道,  *  客户对着它说做菜,然后它在叫某个具体做菜的人去做咯。  * @author markGao * */class Director {    private Food food;    Director(Food f) {        this.food = f;        doFood();    }    private void doFood() {        food.You();        food.Yan();        food.Shui();    }        public Food supplyFood(){        return food;    }}

转载于:https://my.oschina.net/u/1412027/blog/193901

你可能感兴趣的文章
手机产品设计禁忌(转)
查看>>
laravel使用多个数据库连接
查看>>
css3 闪烁效果
查看>>
Hadoop Serialization -- hadoop序列化详解 (3)【ObjectWritable,集合Writable以及自定义的Writable】...
查看>>
JQUERY 选择器
查看>>
win7 环境下实现faster-rcnn
查看>>
mac安装python3
查看>>
类A是公共的,应在名为A.java的文件中声明错误
查看>>
对mysql性能影响的几个重要参数---高性能(七)
查看>>
IIS是如何处理ASP.NET请求的
查看>>
1月8日学习内容整理:跨域请求解决手段之CORS、PUT请求
查看>>
【hdu - 1721 麻烦的粒子】
查看>>
DNS服务操作小实验
查看>>
EOS智能合约开发(四):智能合约部署及调试(附编程示例)
查看>>
对Python装饰器的理解
查看>>
了解一下UTF-16
查看>>
LDAP是什么?
查看>>
Android内存管理基本介绍
查看>>
如何判断两个对象相等
查看>>
svn merge和branch分析
查看>>