代理模式随堂笔记
租房
public interface Rent {
public void rent();
}
房东
//房东
public class Host implements Rent{
public void rent() {
System.out.println("出租房屋!");
}
}
中介
//代理(中介)
public class Proxy implements Rent{
private Host host;
public Proxy() {
}
public Proxy(Host host) {
this.host = host;
}
public void rent() {
seeHouse();
host.rent();
qianHeTong();
getMoney();
}
public void seeHouse(){
System.out.println("看房子");
}
public void qianHeTong(){
System.out.println("签合同");
}
public void getMoney(){
System.out.println("收中介费");
}
}
租客
//租客
public class Client {
public static void main(String[] args) {
//房东出租
Host host = new Host();
//找中介
Proxy proxy = new Proxy(host);
//租房
proxy.rent();
}
}
----------------------------------------------------------------分页符----------------------------------------------------------------
具体业务
UserService.java
public interface UserService {
public void add();
public void delete();
public void update();
public void select();
}
UserServiceImpl.java
public class UserServiceImpl implements UserService{
public void add() {
System.out.println("增加");
}
public void delete() {
System.out.println("删除");
}
public void update() {
System.out.println("修改");
}
public void select() {
System.out.println("查询");
}
}
UserServiceProxy.java
public class UserServiceProxy implements UserService{
private UserServiceImpl userService;
public void setUserService(UserServiceImpl userService) {
this.userService = userService;
}
public void add() {
log("增加功能");
userService.add();
}
public void delete() {
log("删除功能");
userService.delete();
}
public void update() {
log("修改功能");
userService.update();
}
public void select() {
log("查询功能");
userService.select();
}
public void log(String msg){
System.out.println("[Debug]"+msg);
}
}
Client.java
public class Client {
public static void main(String[] args) {
UserServiceImpl userService = new UserServiceImpl();
UserServiceProxy Proxy = new UserServiceProxy();
Proxy.setUserService(userService);
Proxy.add();
}
}