设计模式-8.外观模式

定义:为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,这个接口使得子系统更加容易使用。

使用场景:当子系统的接口过于复杂时,比如经典的三层架构,就需要考虑在数据访问层和业务逻辑层,业务逻辑层和表示层的层与层之间建立外观。以达到简化目的,降低耦合

实现:建立外观类,聚合子系统各个接口,定义对外公开的简洁方法

优点:降低复杂接口使用难度,降低耦合性

代码示例:刚工作租房子,如果自己去找,要考虑房子因素很多,房租,位置,光照等等,如果找中介,中介会提供给你最合适的房源,相当于简化了接口。注意这里不是带有中介俩字就是中介者模式,中介者模式是很多类彼此不认识,他们都通过一个中介类相互发生联系。

 

/**
 * 租房条件接口
 * @author liuhao
 *
 */
public interface Lease {
    
    //房子条件
    void condition();
}
 

public class Condition1 implements Lease {

    @Override
    public void condition() {
        System.out.println("光照充足");
    }

}

public class Condition2 implements Lease {

    @Override
    public void condition() {
        System.out.println("位置优越");
    }

}

public class Condition3 implements Lease {

    @Override
    public void condition() {
        System.out.println("价格便宜");
    }

}

 

/**
 * 外观类
 * @author liuhao
 *
 */
public class LeaseFade {
    private Lease condition1;
    private Lease condition2;
    private Lease condition3;
    public LeaseFade() {
        this.condition1 = new Condition1();
        this.condition2 = new Condition2();
        this.condition3 = new Condition3();
    }
    /**
     * 外观暴露的租房方法
     */
    public void lease() {
        condition1.condition();
        condition2.condition();
        condition3.condition();
    }
}

public class Main {

    public static void main(String[] args) {
        LeaseFade fade = new LeaseFade();
        fade.lease();
    }

}

结果:

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值