第一范文网 - 专业文章范例文档资料分享平台

郑州大学软件学院设计模式

来源:用户分享 时间:2025/5/26 0:39:11 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

if(request.getLeaveDays()<20) { System.out.println(\副总经理\+ name + \审批员工\+ request.getLeaveName() + \的请假条,请假天数为\天。\ } else { if(this.successor!=null) { this.successor.handleRequest(request); } } } }

模板方法

实例一:银行业务办理流程 在银行办理业务时,一般都包含几个基本步骤,首先需要取号排队,然后办理具体业务,最后需要对银行工作人员进行评分。无论具体业务是取款、存款还是转账,其基本流程都一样。现使用模板方法模式模拟银行业务办理流程。

public abstract class BankTemplateMethod {

public void takeNumber() { System.out.println(\取号排队。\ } public abstract void transact(); public void evaluate() { System.out.println(\反馈评分。\ }

public void process() {

this.takeNumber(); this.transact(); this.evaluate(); } }

public class Client { public static void main(String a[]) { BankTemplateMethod bank; bank=(BankTemplateMethod)XMLUtil.getBean(); bank.process(); System.out.println(\--------------\ } }

public class Deposit extends BankTemplateMethod { public void transact() { System.out.println(\存款\ } }

public class Transfer extends BankTemplateMethod { public void transact() { System.out.println(\转账\ } }

public class Withdraw extends BankTemplateMethod { public void transact() { System.out.println(\取款\ } }

享元模式

实例一:共享网络设备(无外部状态) 很多网络设备都是支持共享的,如交换机、集线器等,多台终端计算机可以连接同一台网络设备,并通过该网络设备进行数据转发,如图所示,现用享元模式模拟共享网络设备的设计原理。 public class Client { public static void main(String args[]) { NetworkDevice nd1,nd2,nd3,nd4,nd5; DeviceFactory df=new DeviceFactory(); nd1=df.getNetworkDevice(\ nd1.use(); nd2=df.getNetworkDevice(\ nd2.use(); nd3=df.getNetworkDevice(\ nd3.use(); nd4=df.getNetworkDevice(\ nd4.use(); nd5=df.getNetworkDevice(\ nd5.use(); System.out.println(\df.getTotalDevice()); System.out.println(\+ df.getTotalTerminal()); } }

import java.util.*;

public class DeviceFactory { private ArrayList devices = new

ArrayList();

private int totalTerminal=0; public DeviceFactory() { NetworkDevice nd1=new Switch(\ devices.add(nd1); NetworkDevice nd2=new Hub(\ devices.add(nd2); } public NetworkDevice getNetworkDevice(String type) { if(type.equalsIgnoreCase(\ { totalTerminal++; return

(NetworkDevice)devices.get(0); } else if(type.equalsIgnoreCase(\ { totalTerminal++; return

(NetworkDevice)devices.get(1); } else { return null; } } public int getTotalDevice() { return devices.size(); } public int getTotalTerminal() { return totalTerminal; } }

public class Hub implements NetworkDevice { private String type; public Hub(String type) { this.type=type; } public String getType() { return this.type; } public void use() { System.out.println(\by Hub, type is \ } }

public interface NetworkDevice { public String getType(); public void use(); }

public class Switch implements NetworkDevice { private String type; public Switch(String type) { this.type=type; } public String getType() { return this.type; } public void use() { System.out.println(\by switch, type is \

}

}

搜索更多关于: 郑州大学软件学院设计模式 的文档
郑州大学软件学院设计模式.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c9449s6o08m6d7jn4l22e_7.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top