中介者模式小试(三)

2014-11-23 22:54:41 · 作者: · 浏览: 2
return true;
}
}
复制代码
2、然后定义员工类:
复制代码
public class User {
private String userId;
private String userName;
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
public String getUserName() {
return userName;
}
public void setUserName(String userName) {
this.userName = userName;
}
//员工离职,调用中介类处理
public boolean dismission(){
DepUserMediatorImpl mediator= DepUserMediatorImpl.getInstance();
mediator.deleteUser(userId);
return true;
}
}
复制代码
3、简单的员工-部门对应类,存储员工、部门的关系,如下:
复制代码
public class DepUserModel {
private String depUserId;
private String depId;
private String userId;
public String getDepUserId() {
return depUserId;
}
public void setDepUserId(String depUserId) {
this.depUserId = depUserId;
}
public String getDepId() {
return depId;
}
public void setDepId(String depId) {
this.depId = depId;
}
public String getUserId() {
return userId;
}
public void setUserId(String userId) {
this.userId = userId;
}
}
复制代码
4、然后是最重要的中介者类,如下:
复制代码
//中介者类,设为单例
public class DepUserMediatorImpl {
private static DepUserMediatorImpl mediator = new DepUserMediatorImpl();private Collection depUserList = new ArrayList();
public static DepUserMediatorImpl getInstance(){
return mediator;
}
//删除部门
public boolean deleteDep(String depId){
//一个临时列表 Collection tempList = new ArrayList();
for(DepUserModel model : depUserList){
if(model.getDepId().equals(depId)){
tempList.add(model);
}
}
depUserList.removeAll(tempList);
return true;
}
//删除员工
public boolean deleteUser(String userId){
//一个临时列表
Collection tempList = new ArrayList();
for(DepUserModel model : depUserList){
if(model.getUserId().equals(userId)){
tempList.add(model);
}
}
depUserList.removeAll(tempList);
return true;
}
}