设计模式——外观类模式

本文通过一个贩卖机的例子介绍了软件设计中的外观模式。外观模式遵循最少知识原则,为客户端提供了一个简单的接口,隐藏了内部复杂的实现细节。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

10.外观类模式

外观类就像一个黑盒,只给你结果,不告诉你具体内容。

也像一个看不见里面的内容的贩卖机,只能通过屏幕进行查看商品及购买,您只管买,其他的事儿我来解决!

用到了最少知识原则(least KnowLedge Principle)。

下面用一个例子来实现

public interface Buy {
    void buy();
}
public class BuyWater implements Buy{
    @Override
    public void buy() {
        System.out.println("买瓶水,已出货");
    }
}
public class BuyCookie implements Buy{
    @Override
    public void buy() {
        System.out.println("买饼干,已出货");
    }
}
public class ClientBuy {
    private Buy buyCookie;
    private Buy buyWater;

    public void buyCookie(){
        buyCookie.buy();
    }
    public void buyWater(){
        buyWater.buy();
    }
}
public class Client {
    public static void main(String[] args) {
        ClientBuy clientBuy =  new ClientBuy();
        clientBuy.buyCookie();
        clientBuy.buyWater();
    }
}

buyWater,buyCookie这两个内部对象并不能被Client访问到,对Client进行了隐藏,而buyCookie()与buyWater()方法却是对Client开放的,Client不需要知道buyCookie,buyWater对象及具体实现方法,只需要调用方法即可。

外观类只给你该给你看的用的,不给你你不该看的用的。嘤嘤嘤好真实。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值