首先请出今天的主人公——“黑旋风”李逵

李逵:“我是不是萌萌哒?”

一部《水浒传》说尽了一群英雄好汉的悲欢离合!经典著作的水浒,含蓄地概括了中国各个朝代的变迁和演变,客观地揭露了顽固的中国伦理道德,以及那些伦理道德对国人的愚弄和危害。

故事剧情

宋江酒后在浔阳楼上题诗,被无为军在闲通判黄文炳解读为反诗,向江州蔡九知府蔡得章告发,宋江因此被打入大牢。其后戴宗为救宋江,传了一封梁山泊造的假信,亦被黄文炳识破。宋、戴二人被判死刑,押到十字路口待斩。 [14]

为救二人,梁山二十余条好汉赶到江州,劫了法场。李逵在不知梁山方面行动的情况下,也独自从预先藏身的楼上跳下,砍翻两个刽子手,与梁山众人同时在法场里厮杀。救出宋、戴二人后,李逵杀得性起,逢人便砍,梁山首领晁盖对他喝阻也无效。其后李逵和梁山众人打入无为军,杀了黄文炳,并从此与江州的张顺等人随宋江上了梁山。

从故事剧情中我们得知李逵使用一把板斧劫了法场。

我们都知道板斧是由木头柄和铁制的斧构成。那么想要得到一把板斧需要这两样物品的组合。

我们于是定义一个木头类和铁类:

public class FaMuGong {//伐木工public void FaMu(){//伐木System.out.println("我是伐木工,我伐木。得到【木头】");}
}public class TieJiang {//铁匠public void LianTie(){//炼铁System.out.println("我是铁匠,我炼铁。得到【铁】");}
}

接下来,有请“黑旋风”李逵,那么他的情节就是打抱不平!

public class LiKui {//李逵public void DaBaoBuPing(String BanFu){System.out.println("我是李逵,我打抱不平。得到【板斧】");}
}

这个故事是在江州发生的,所以我们来描绘一个场景为众英雄好汉提供展示情节的舞台。

public class JiangZhou {//江州public static void main(String[] args) {//找伐木工,得到【木头】FaMuGong faMuGong = new FaMuGong();faMuGong.FaMu();//找铁匠,得到【铁】TieJiang tieJiang = new TieJiang();tieJiang.LianTie();//李逵开始劫法场,打抱不平!!!LiKui liKui = new LiKui();liKui.DaBaoBuPing();}
}

剧情开始!action!

那么问题来了,李逵有点不耐烦了。

李逵:“俺打抱不平,使一把板斧,我还要去伐木和炼铁啊!!!气煞我也”

那么我们应该怎么办呢?其实李逵好汉去武器店买一把不就问题解决了嘛!这样,我们来看看这个武器店是什么样的

public class WuQiDian {//武器店private FaMuGong faMuGong;//伐木工private TieJiang tieJiang;//铁匠public WuQiDian() {this.faMuGong = new FaMuGong();faMuGong.FaMu();//从伐木工那里得到【木头】this.tieJiang = new TieJiang();tieJiang.LianTie();//从铁匠那里得到【铁】}public String buy(){String BanFu = "板斧";System.out.println("本店出售【板斧】");return BanFu;}
}

重新定义一个江州场景

public class JiangZhou {//江州public static void main(String[] args) {WuQiDian wuQiDian = new WuQiDian();LiKui liKui = new LiKui();String BanFu = wuQiDian.buy();//从武器店得到板斧liKui.DaBaoBuPing(BanFu);//开始打抱不平}
}

剧情开始!action!

我们看到李逵直接从武器店得到了板斧,并不需要分别找到伐木工和铁匠,这样简化了得到板斧的流程,大大缩短了时间。

在生活也是如此的,我们购买的大部分物品都是加工或再加工好的,我们使用即可,完全不需要考虑它的构成和原理。

在一个大系统中,会有很多小的组件,这些组件之间有着复杂的逻辑关系,对于我们来说,直接使用这些小的组件会变得十分麻烦,所以通过“外观模式”就相当于一个“武器店”,相当于一个接口对外界暴露,我们使用即可。

加个关注吧,下次接着看!谢谢!!!

https://blog.csdn.net/wfy2695766757

“戏”说设计模式——外观(门面)模式相关推荐

  1. 一看就懂!【英雄联盟锐雯】与 Python 详解设计模式之门面模式

    [网络配图] 设计模式(Design Pattern)是一套被反复使用.多数人知晓的.经过分类的.代码设计经验的总结.使用设计模式的目的:为了代码可重用性.让代码更容易被他人理解.保证代码可靠性.设计 ...

  2. 设计模式之门面模式详解

    设计模式之门面模式详解 文章目录 设计模式之门面模式详解 一.什么是门面模式 二.门面模式的应用场景 三.门面模式的角色组成 四.门面模式通用写法 五.门面模式在业务中的应用 六.门面模式优缺点 一. ...

  3. python设计模式名片_Python设计模式之门面模式简单示例

    本文实例讲述了python设计模式之门面模式.分享给大家供大家参考,具体如下: facade:建筑物的表面 门面模式是一个软件工程设计模式,主要用于面向对象编程. 一个门面可以看作是为大段代码提供简单 ...

  4. 设计模式之【外观/门面模式】,不打开这扇门永远不知道门后有多少东西

    文章目录 一.什么是外观模式(门面模式) 1.外观模式的结构 2.使用场景 3.外观模式的优缺点 4.外观模式注意事项 二.实例 1.外观模式的通用写法 2.智能家居案例 3.积分换礼品案例 参考资料 ...

  5. JAVA设计模式之门面模式(外观模式)

    医院的例子 现代的软件系统都是比较复杂的,设计师处理复杂系统的一个常见方法便是将其"分而治之",把一个系统划分为几个较小的子系统.如果把医院作为一个子系统,按照部门职能,这个系统可 ...

  6. 外观设计模式(门面模式)

    2019独角兽企业重金招聘Python工程师标准>>> 1.门面模式举例,医院设置一个接待员的位置: 病人只接触接待员,由接待员与各个部门打交道 2.门面模式的结构 门面角色会将所有 ...

  7. java设计模式之门面模式

    定义: 门面模式又叫做外观模式,提供了一个统一的接口,用来访问子系统中的一群接口.其主要特征是定义了一个高层接口,让子系统更容易使用,属于结构型设计模式 使用场景: 为一个复杂的模式或者子系统提供一个 ...

  8. [C++实现 设计模式(14)] : 门面模式

    文章目录 情景描述 门面模式的定义 门面模式的应用 门面模式的优点 门面模式的缺点 门面模式的是使用场景 门面模式的注意事项 一个子系统可以有多个门面 门面不参与子系统内的业务逻辑 *参考书籍* : ...

  9. 设计模式之门面模式与装饰器模式详解和应用

    目录 1 门面模式定义 1.1 门面模式的应用场景 1.2 门面模式的通用写法 1.3 门面模式业务场景实例 1.4 门面模式在源码中的应用 1.5 门面模式的优缺点 2 装饰器模式 2.1 装饰器模 ...

  10. 浅谈PHP设计模式的门面模式

    简介: 门面模式又称之为外观模式,属于结构型的设计模式. 用于为子系统中的一组接口提供一致的调用方案.门面模式定义了一个高层接口,引入门面角色之后,只需要直接与门面角色交互,降低了系统的耦合度. 适用 ...

最新文章

  1. dsoframer控件注册,解注册和检查注册情况
  2. list foreach方法_Java集合三兄弟List,Set,Map你分的清楚吗?
  3. 顺丰拟发行58亿可转债:15亿投入航空运力,12亿还贷款
  4. qt输出中文乱码处理(解决方法)
  5. 小程序入门学习08--云开发01
  6. html table导出到Excel中,走后台保存文件,js并调用另保存
  7. AcWing 874. 筛法求欧拉函数(欧拉函数)
  8. 代码审计工具之Fortify安装以及初步使用
  9. Windows10下载CUDA总是下载失败的解决方案
  10. php仿it之家源码,织梦仿IT之家带wap手机版 v5.7
  11. 单峰分布(unimodal distribution)、双峰分布 (bimodal distribution)以及偏态分布(skewness distribution)
  12. 早这么讲运算放大器的开环增益,我现在都是高手了
  13. python的os为啥找不到文件_python – pyenchant在Mac OS X上找不到字典文件
  14. 揭秘北京奥运会上的中国保镖[转贴]
  15. JAVA方式对接FIL节点钱包(也有离线)
  16. 即时通讯软件调查报告
  17. 华东理工大学matlab怎么下载,华东理工大学MATLAB.ppt
  18. 俞敏洪在清华励志演讲
  19. Servlet 执行原理
  20. 成君忆 易中天 三国专家网上博斗

热门文章

  1. Android——仿淘宝头条垂直滚动广告
  2. 《惢客创业日记》2019.04.25(周四)如何解决骚扰电话?
  3. 安卓zip解压软件_手机压缩软件ZArchiver下载、使用教程丨免费、中文,支持7z、zip、rar等所有格式...
  4. 5G点亮工业革命前,2021需要持续点亮5G
  5. PDF文件如何设置密码保护?
  6. matlab 心形曲线
  7. 利用Android手机破解微信加密数据库EnMicroMsg.db文件
  8. Python 爬影评,《悬崖之上》好看在哪里?
  9. Linux安装iso镜像中的软件
  10. 大学英语综合教程二 Unit 5 课文内容英译中 中英翻译