设计模式之门面设计模式

门面模式:将所有执行的方法同意归纳到一个总类中执行,调用者不需要考虑其他业务实现只要调用总接口即可,最后再由总接口统一按照业务调用其他核心业务代码,提高了系统以来,松散耦合,遵循了最少知道原则。缺点是不符合开闭原则。属于结构性设计模式。

public class Drugstore {
    //采购药品
    public void purchaseMedicine(Medicine medicine){
        if(medicine.getCount()<3){
            Pharmaceut pharmaceut = new Pharmaceut(medicine);
            if(pharmaceut.isAllow()){
                System.out.println("符合药厂规则,可以申请采购单");
            }else{
                System.out.println("不符合药厂规则,不予采购");
            }
        }else{
            System.out.println("数量足够不必采购");
        }

    }


}
public class Medicine {
    private String name; //药品名字
    private boolean isRestrict = true;  //是否管控药
    private int count = 0;

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public boolean isRestrict() {
        return isRestrict;
    }

    public void setRestrict(boolean restrict) {
        isRestrict = restrict;
    }

    public int getCount() {
        return count;
    }

    public void setCount(int count) {
        this.count = count;
    }
}

//药厂
public class Pharmaceut {
    Medicine medicine = null;
    public Pharmaceut(Medicine medicine){
        this.medicine = medicine;
    }

    public boolean isAllow(){
        if(!medicine.isRestrict()){
            System.out.println("非管制药可直接发货");
            return true;
        }
        System.out.println("管制类药物,不允许发货");
        return false;
    }


}

public class Test {


    public static void main(String[] args) {
        Drugstore drugstore = new Drugstore();
        Medicine medicine = new Medicine();
        medicine.setCount(1);
        medicine.setRestrict(false);
        drugstore.purchaseMedicine(medicine);
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值