代理模式

来源:互联网 发布:cf游戏数据异常怎么办 编辑:程序博客网 时间:2024/06/10 18:24

代理模式

代理模式,为其他对象提供一个可以访问这个对象的接口。
在生活中,房地产中介就是一个典型的代理模式实例,房子是房东的私有财产,但是在房主做出交由中介出租的决定的时候,会与中介签订合同,那么租户就可以通过中介的代理签订一份合同,从而没有与房东进行交流,或者更有甚者,房东从来没有出现,如链家现在的自如(遍地的门店),房东将房子租给了中介,中介再将房子租给租客。
下面我们就以这个做一个例子:
新建中介和房东的抽象接口
public interface RentHouse {void rent() ;}
实现中介和房东类
public class Landlord implements RentHouse{private Tenant tenant;public Landlord(Tenant tenant) {this.tenant = tenant;}@Overridepublic void rent() {System.out.println("房子租给"+tenant.getName());}}

public class IntermediayAgent implements RentHouse{private Landlord landlord;public IntermediayAgent(Tenant tenant) {landlord = new Landlord(tenant);}@Overridepublic void rent() {landlord.rent();}}

租客类

public class Tenant {private String name;public Tenant(String name) { this.name = name;}public String getName() {return name;}public void setName(String name) {this.name = name;}}

使用类
Tenant tenant = new Tenant("小明");IntermediayAgent agent = new IntermediayAgent(tenant);agent.rent();}

输出结果

房子租给小明


小明是通过中介来租到的房子。中介作为房东的代表,与小明签订租房合同,从而将房子租给了小明。
还有在平常电视中经常有,律师说“我作为XXX先生的全权代表处理这件事,我当事人不方便出面,所以你们有任何事情都可以找我。”

原创粉丝点击