Java基于外观模式实现美食天下食谱功能实例详解

网友投稿 222 2023-02-04


Java基于外观模式实现美食天下食谱功能实例详解

本文实例讲述了java基于外观模式实现美食天下食谱功能。分享给大家供大家参考,具体如下:

一、模式定义

外观模式,是软件工程师常用的一种软件设计模式。它为子系统中的一组接口提供一个统一的高层接口,使子系统更容易使用。外观模式通过一个外观接口读/写子系统中的各接口的数据资源,而客户可以通过外观接口读取内部资源库,不与子系统产生交互。

二LxcrFD、模式举例

1. 模式分析

我们借用美食天下菜谱中制作糖醋排骨这一道菜来说明这一模式。

2. 外观模式静态类图

3. 代码示例

3.1 创建糖醋排骨接口一ISpareribs

package com.demo.common;

/**

* 糖醋排骨接口

*

* @author

*

*/

public interface ISpareribs {

// 准备材料

public void prepair();

// 腌制排骨

public void preserve();

// 炸排骨

public void fry();

// 调汁

public void juice();

}

3.2 糖醋排骨实现类一Spareribs

package com.demo.common;

/**

*

* 糖醋排骨实现类

*

* @author

*

*/

public class Spareribs implements ISpareribs {

// 准备材料

@Override

public void prepair() {

System.out.println("1.准备猪排骨500克,葱末、姜末、酱油、花生油、白糖、醋、料酒、盐各适量...");

}

// 腌制排骨

@Override

public void preserve() {

System.out.println("2.将排骨洗净剁成3厘米长段,用开水汆一下,捞出放盆内,加入盐、酱油腌入味...");

}

// 炸排骨

@Override

public void fry() {

System.out.println("3.炒锅注油烧至六成热,下排骨炸至淡黄色捞出;油温加热至八成,再下锅炸至金黄色捞出...");

}

// 调汁

@Override

public void juice() {

System.out

.println("4.炒锅留少许油烧热,下入葱花,姜末爆香,加入适量清水、酱油、醋、白糖、料酒、倒入排骨,烧开后用慢火煨至汤汁浓,排骨熟,淋上熟油,出锅即可!");

}

}

3.3 创建外观接口一ICookFacade

package com.demo.facade;

/**

* 外觀模式制作糖醋排骨

*

* @author

*

*/

public interface ICookFacade {

// 做糖醋排骨

public void cookSpareribs();

}

3.4 外观实现一CookFacade

package com.demo.facade;

import com.demo.common.ISpareribs;

import com.demo.common.Spareribs;

/**

* 外觀模式制作糖醋排骨

*

* @author

*

*/

public class CookFacade implements ICookFacade {

// 糖醋排骨排骨接口

private final ISpareribs spareribs = new Spareribs(http://);

// 做糖醋排骨

public void cookSpareribs() {

// 准备材料

this.spareribs.prepair();

// 腌制排骨

this.spareribs.preserve();

// 炸排骨

this.spareribs.fry();

// 调汁

this.spareribs.juice();

}

}

3.5 客户端测试

package com.demo;

import com.demo.facade.CookFacade;

import com.demo.facade.ICookFacade;

/**

* 客户端应用程序

*

* @author

*

*/

public class Client {

public static void main(String[] args) {

// 开始做糖醋排骨了!

System.out.println("==== 开始做糖醋排骨...");

// // 创建糖醋排骨对象实例

// ISpareribs spareribs = new Spareribs();

// // 准备材料

// spareribs.prepair();

// // 腌制排骨

// spareribs.preserve();

// // 炸排骨

// spareribs.fry();

// // 调汁

// spareribs.juice();

ICookFacade cookFacade = new CookFacade();

cookFacade.cookSpareribs();

System.out.println("==== 糖醋排骨制作完成!");

}

}

4. 运行结果

==== 开始做糖醋排骨...

1.准备猪排骨500克,葱末、姜末、酱油、花生油、白糖、醋、料酒、盐各适量...

2.将排骨洗净剁成3厘米长段,用开水汆一下,捞出放盆内,加入盐、酱油腌入味...

3.炒锅注油烧至六成热,下排骨炸至淡黄色捞出;油温加热至八成,再下锅炸至金黄色捞出...

4.炒锅留少许油烧热,下入葱花,姜末爆香,加入适量清水、酱油、醋、白糖、料酒、倒入排骨,烧开后用慢火煨至汤汁浓,排骨熟,淋上熟油,出锅即可!

==== 糖醋排骨制作完成!

三、该模式设计原则

1 迪米特法则——最小知识原则

2 封装变化部分

该图进一步展示了客户端应用程序,外观模式和子系统内部复杂应用三者的关系.

四、使用场合

1. 一个软件系统的复杂度比较高,需要一个更高级别的简单接口简化对子系统的操作时。

2. 当使用端与实现类之间有太多的依赖性,需要降低使用端与子系统或子系统间的耦合性,增加子系统的独立性时。

3. 当子系统是相互依存的,需要层级化子系统,简化子系统之间的相依性的时候,可以使用外观模式。

五、外观模式静态类图

更多关于java算法相关内容感兴趣的读者可查看本站专题:《Java数据结构与算法教程》、《Java操作DOM节点技巧总结》、《Java文件与目录操作技巧汇总》和《Java缓存操作技巧汇总》

希望本文所述对大家java程序设计有所帮助。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java如何查看线程状态(java怎么查看线程状态)
下一篇:vue使用自定义icon图标的方法
相关文章

 发表评论

暂时没有评论,来抢沙发吧~