设计模式课时三 ------外观模式

外观模式

概念:外观模式定义了一个将子系统的一组接口结合成在一起的高层接口,以提供一个一致的界面。通过这个界面,其他系统可以方便地调用子系统的功能,而忽略子系统内部发生的变化。

例如:
完善信息
子系统的三个类:Account ,Address,idCard
桥接器:CustomerFacade
客户端:Client

如图:
在这里插入图片描述

public class Account{
	String name;
	public Account (String name){
		this.name=name;
	}
	public boolean isValid(){
		//验证方法
	}
	public boolean save(){
		//保存方法
	}
	public String getName(){
		return name;
	}
}
//Address(属性:city)  idCard (属性:idNo)类似

public class CustomerFacade{
	private String name;
	private Strng city;
	private String idNo;
	public void setName (String name){
	this.name = name;
	}
	public void setCity (String city){
	this.city= city;
	}
	public void setIdNo (String idNo){
	this.idNo= idNo;
	}
	public boolean saveCustomerData(){
		Address objAddress ;
		Account objAccount;
		idCard objidCard;
		
		boolean valiData = true;
		String errorMessage = "";
		
		objAddress = new Address(name);
		if ( objAccount.isValid() == false ){
			valiData  = false ;
			errorMessage = "XXX";
		}
		objAccount = new Account(city);
		...
		objidCard = new idCard(idNo);
		...
		if ( ! valiData ){
			return false;
		}
		
		if (objAddress.save() && objAccount.save() &&  objidCard.save()  ){
			return true;
		}else {
			return false;
		}
	}
}

注意事项:
1.设计外观模式时,不需要增加额外的功能
2.不要从外观模式中返回子系统的组件给客户,不能使外观模式的好处最大化
3.适合提供特定的高层次业务服务,而不是低层次的单独的业务执行

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值