您当前的位置: 首页 > 

CSDN 程序人生

暂无认证

  • 1浏览

    0关注

    1993博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

漫画:木兰从军之外观模式

CSDN 程序人生 发布时间:2019-11-30 11:00:00 ,浏览量:1

作者 | 小小小咖

本文经授权转载自JAVA小咖秀(ID:javaxiaokashow)

唧唧复唧唧,木兰当户织。不闻机杼声,惟闻女叹息。

外观模式的基本uml:

木兰做战衣的uml图:

public class FineHorse {    public void eastMarketGet() {        System.out.println("东市买骏马~");    }}public class Saddle {    public void westernMarketGet() {        System.out.println("西市买鞍鞯~");    }}public class BridleHead {    public void southMarketGet() {        System.out.println("南市买辔头~");    }}public class Whip {    public void northMarketGet() {        System.out.println("北市买长鞭~");    }}public class WeaponMaster {    private BridleHead bridleHead = new BridleHead();    private FineHorse fineHorse = new FineHorse();    private Saddle saddle = new Saddle();    private Whip whip = new Whip();    public void makeWararmor() {        fineHorse.eastMarketGet();        saddle.westernMarketGet();        bridleHead.southMarketGet();        whip.northMarketGet();        System.out.println("装备获取成功~");        System.out.println("恭喜,成功组装战袍!");    }    public void give(String name) {        System.out.println("送战袍给:" + name);        System.out.println(name + "获取到战袍~");    }}public class HuaMuLan {    public static void main(String[] args) {        WeaponMaster weaponMaster = new WeaponMaster();        weaponMaster.makeWararmor();        weaponMaster.give("花木兰");    }}

外观模式

一个系统的功能越来越强,子系统(子模块)就越来越多,因此客户端如果挨个去调用子系统就会变的复杂,还需要对子系统有较深的了解,如果功能发生改变的时候,客户端也需要改变,违背了开闭原则以及迪米特法则,所以我们可以为子系统提供一个共同的对外接口。客户端可以直接和这个外观对象沟通。

实际应用

详细大家可以去看源码

  • jdk : java.lang.Class

  • spring :org.springframework.jdbc.support.JdbcUtils

  • tomcat : org.apache.catalina.connector.Request

  • mybatis : org.apache.ibatis.session.Configuration

木兰获得了战衣,辞别了父母上路,宿营黄河边,听不见父母呼唤女儿的声音,但能听到黄河汹涌奔流的声音。

几年过去了,木兰得胜归来,成为了一代巾帼英雄。

防水耐脏,超大容量双肩包,限时拼团仅需49元

 热 文 推 荐 

☞当今流行技术,SQL、Java、Python、C++ 皆上榜,它的表现最惊艳!

☞1949-2019,70 年 50 种不同编程语言的“Hello World”大盘点!

☞程序员有哪些接私活渠道?| 程序员有话说

☞自学编程、玩 vlog,90 后程序员们的冠军之路

☞【经典必看】14个实用的数据库设计技巧

☞贾扬清:为什么说数据智能和云原生之间是“天作之合”?

☞大白话讲解比特币白皮书,十年后它依然是学习区块链的最佳资料,你真的读懂了吗?

你点的每个“在看”,我都认真当成了喜欢

关注
打赏
1614322772
查看更多评论
立即登录/注册

微信扫码登录

0.3662s