软件设计与体系结构复习整理题目及答案(8)

2019-08-17 13:02

1.目标(Target) : ThreeElectricOutlet.java public interface ThreeElectricOutlet{

public abstract void connectElectricCurrent(); }

2.被适配者(Adaptee): TwoElectricOutlet.java

public interface TwoElectricOutlet{

public abstract void connectElectricCurrent(); }

3.适配器(Adapter) TreeElectricAdapter.java

public class TreeElectricAdapter implements ThreeElectricOutlet{ TwoElectricOutlet outlet;

TreeElectricAdapter(TwoElectricOutlet outlet){ this.outlet=outlet; }

public void connectElectricCurrent(){ outlet.connectElectricCurrent(); } }

4.应用 Application.java_1 public class Application{

public static void main(String args[]){ ThreeElectricOutlet outlet;

Wash wash=new Wash(); outlet=wash;

System.out.println(\使用三相插座接通电流:\ outlet.connectElectricCurrent();

TV tv=new TV();

TreeElectricAdapter adapter=new TreeElectricAdapter(tv); outlet=adapter;

System.out.println(\使用三相插座接通电流:\ outlet.connectElectricCurrent(); } }

4.应用 Application.java_2

class Wash implements ThreeElectricOutlet{ String name; Wash(){

name=\黄河洗衣机\ }

Wash(String s){ name=s;

}

public void connectElectricCurrent(){ turnOn(); }

public void turnOn(){

System.out.println(name+\开始洗衣物。\ } }

4.应用 Application.java_3

class TV implements TwoElectricOutlet{ String name; TV(){

name=\长江电视机\ }

TV(String s){ name=s; }

public void connectElectricCurrent(){ turnOn(); }

public void turnOn(){

System.out.println(name+\开始播放节目。\ } }

———————————————————————————————————————

外观模式

模式的结构中包括两种角色: 子系统(Subsystem) 外观(Facade)

1.子系统(Subsystem)_1 : CheckWord.java public class CheckWord{

public final int basicAmount=85; String advertisement; int amount;

public CheckWord(String advertisement){ this.advertisement=advertisement; }

public void setChargeAmount(){

amount=advertisement.length()+basicAmount; //计算出计费字符数目 }

public int getAmount(){ return amount; } }

1.子系统(Subsystem)_2 : Charge.java public class Charge{

public final int basicCharge=12; CheckWord checkWord;

Charge(CheckWord checkWord){ this.checkWord=checkWord; }

public void giveCharge(){

int charge=checkWord.getAmount()*basicCharge; System.out.println(\广告费用:\元\ } }

1.子系统(Subsystem)_3 :TypeSeting.java public class TypeSeting{ String advertisement;

public TypeSeting(String advertisement){ this.advertisement=advertisement; }

public void typeSeting(){

System.out.println(\广告排版格式:\ System.out.println(\ System.out.println(advertisement); System.out.println(\ } }

2.外观(Facade): ClientServerFacade.java public class ClientServerFacade{ private CheckWord checkWord; private Charge charge;

private TypeSeting typeSeting;

String advertisement;

public ClientServerFacade(String advertisement){ this.advertisement=advertisement;

checkWord=new CheckWord(advertisement); charge=new Charge(checkWord);

typeSeting=new TypeSeting(advertisement); }

public void doAdvertisement(){ checkWord.setChargeAmount(); charge.giveCharge(); typeSeting.typeSeting(); }

}3.应用 Application.java public class Application{

public static void main(String args[]){ ClientServerFacade clientFacade;

String clientAdvertisement=\鹿花牌洗衣机,价格2356元,联系电话:1234567\ clientFacade=new ClientServerFacade(clientAdvertisement); clientFacade.doAdvertisement(); } }

课件里有关架构的几个具体例子,比如do it all程序的重构方法,计算应收账款(Revenue Recognition)的不同设计方法

Do it all:

public class DoItAll extends javax.servlet.http.HttpServlet { protected void doGet( HttpServletRequest request, HttpServletResponse response) throws ... // { String lastName = request.getParameter(“…\

Connection dbc = DbRegistry.getDbConnection();

String findSql = \ PreparedStatement dbQuery = dbc.prepareStatement(findSql); dbQuery.setString(1, lastName);

ResultSet rs = dbQuery.executeQuery(); rs.next();

String firstName = rs.getString(\lastName = lastName.toUpperCase();

PrintWriter out = response.getWriter(); response.setContentType(\

out.println(\

}

}

计算应收账款(Revenue Recognition)PPT9 175页

概念模型:


软件设计与体系结构复习整理题目及答案(8).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:Dwocbw冉万祥同志在2011年全州经济工作会议上的讲话

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: