【代理模式应用场景举例】
比如在玩“极品飞车”这款游戏,如果游戏者手中的金钱达到了一定的数量就可以到车店买一部性能更高的赛车,那么这个卖车的“车店”就是一个典型的“汽车厂家”的“代理”,他为汽车厂家“提供卖车的服务”给有需求的人士。从面向对象的方面考虑,“销售汽车的代理”也是一个对象,那么这个对象也具有一定的状态,在软件项目中这个对象也具有管理财务进销存的基本功能,那么在设计时就要以面向OOP编程的思想来考虑软件的类结构,这个销售汽车的代理也是一个类了。
【代理模式解释】
类型:结构模式
对一些对象提供代理,以限制那些对象去访问其它对象。
【代理模式UML图】
【代理模式-JAVA代码实现】
新建一个买车的接口:
package
buy_car_package;
public
interface
buy_car_package {
public
void
buy_car();
}
新建一个people人类,具有买车的行为,所以实现接口buy_car_package:
package
buy_car_imple;
import
buy_car_package.buy_car_package;
public
class
people
implements
buy_car_package {
private
int
cash;
private
String username;
public
int
getCash() {
return
cash;
}
public
void
setCash(
int
cash) {
this
.cash
=
cash;
}
public
String getUsername() {
return
username;
}
public
void
setUsername(String username) {
this
.username
=
username;
}
public
void
buy_car() {
System.out.println(username
+
"
买了一台新车
"
);
}
}