design_model(14)Mediator

本文介绍了一种设计模式——中介者模式,它通过提供统一接口使系统各部分可通过该接口进行通信,避免了直接交互的复杂性。文中给出了具体的Java实现案例,包括定义Mediator接口及其实现President类,还有Department接口及其实现Development类。

1.中介者模式

允许我们公开一个统一的接口,系统的不同部分可以通过该接口进行通信,而不需要显示的相互作用

2.实例

public interface Mediator {
	
	void register(String dname,Department d);

	void command(String dname);
	
}

public class President implements Mediator {
	
	private Map<String,Department> map = new HashMap<String , Department>();
	
	@Override
	public void command(String dname) {
		map.get(dname).selfAction();
	}

	@Override
	public void register(String dname, Department d) {
		map.put(dname, d);
	}

}

public interface Department {

	void selfAction(); 

	void outAction();  
}

public class Development implements Department {

	private Mediator m;  
	
	public Development(Mediator m) {
		super();
		this.m = m;
		m.register("development", this);
	}

	@Override
	public void outAction() {
		System.out.println("123");
	}

	@Override
	public void selfAction() {
		System.out.println("456");
	}

}

public class Client {
	public static void main(String[] args) {
		Mediator m = new President();		
		Market   market = new Market(m);				
		market.selfAction();
		market.outAction();
		
	}
}

 

转载于:https://www.cnblogs.com/gg128/p/9570973.html

本项目提供一套基于Python编程语言开发的面部特征识别考勤管理系统源代码及相关操作指南。该系统通过摄像设备实时捕获图像数据,利用预先存储的本地样本进行模型训练,最终实现通过摄像装置自动辨识人员身份并完成考勤记录的功能。系统能够将考勤数据(包括签到与签退时间)存储至结构化数据库,并支持将考勤记录导出为Excel格式的统计报表。 运行环境要求: - 操作系统:Windows平台 - Python版本:3.7.3 - 核心依赖库: - 数值计算库numpy - 图像处理库opencv-contrib-python - 数据库连接驱动pymssql - 数据处理工具pandas - 语音合成模块pyttsx3 部署与执行流程: 启动程序需运行demo.py主文件,该文件将自动调用connect.py与baseConnect.py两个辅助模块。数据库系统采用SQL Server,需预先创建以下数据表结构: 1. 人员信息表 - 编号(整型) - 姓名(字符型) - 学号(整型) - 性别(字符型) 2. 考勤记录表 - 记录编号(整型) - 姓名(字符型) - 学号(整型) - 性别(字符型) - 签到时间(文本型) - 签退时间(文本型) - 考勤次数(文本型) - 状态标识(整型) 注意事项:实际部署时需根据具体数据库实例修改连接参数,包括数据库名称及访问密码的配置。 资源来源于网络分享,仅用于学习交流使用,请勿用于商业,如有侵权请联系我删除!
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值