软件设计模式与体系结构 下载本文

.

}

}

2、添加GUI:

(1)private String[] AirForceUnit = {\

(2)add(1, 6, airCheckBox[13]);

(3)else if ((m==13) && (ckBoxStates[13] == SELECTED)){

unit = new Wing(); airUnits.attach(unit);

unitInfo = unit.getDescription();

}

【实验结果】

-

.

【实验小结】

我们这样来简单的理解组合模式,组合模式就是把一些现有的对象或者

元素,经过组合后组成新的对象,新的对象提供内部方法,可以让我们很方便的完成这些元素或者内部对象的访问和操作。我们也可以把组合对象理解成一个容器,容器提供各种访问其内部对象或者元素的API,我们只需要使用这些方法就可以操作它了。

适配器模式——客户信息验证

【实验内容】

关于例3.7的用于验证客户信息的离架产品类CusInfo Validation的功

能扩展问题。要求使用适配器模式。

-

.

【添加代码】

1、添加InformationAdapter:

public boolean isValidEmailAddr(String EmailAddr){

boolean isValid=true; int a=0; int b=0;

String ns = EmailAddr.trim();

String nStr = ns.replaceAll(\ int len = nStr.length();

if ( (((nStr.charAt(0) >='A')&&(nStr.charAt(0) >='Z'))||

((nStr.charAt(0) >='a')&&(nStr.charAt(0) >='z'))) && (len>=5) ) { for(int m=0; m

if( (Character.isLetter(nStr.charAt(m))==true)&& ( Character.isDigit(nStr.charAt(m))==true) ){

isValid=false; }

if(nStr.charAt(m)=='@'){ }

if(nStr.charAt(m)>='0'&&nStr.charAt(m)<='9'){ }

b++; a++;

-

.

if((m==0)&&(Character.isLetter(nStr.charAt(m))==false)){ } }

isValid=false;

if(a!=1){ } if(b==0){ }

return isValid; } else{

return false;

isValid=false; isValid=false;

}

}

2、添加CusInfoValidator:

public abstract boolean isValidEmailAddr(String EmailAddr);

3、添加GUI:

1

private

JTextField

txtCustomerName,

txtAddress,txtZip,txtCellPhone,txtSSN,

-