package 门面模式;
/**
* 门面模式说的就是, 你把你的所有业务都封装在一个类中, 我这边只有一个入口,来调用业务。 只有一种方法,来进行处理。
*
* 这里就可以看出来, 门面模式就是一个封装的体现。 它把所有的业务都进行封装起来, 暴露的出来几个参数, 让调用的人去进行调用。
*
* 对调用者来说, 是不知道里面业务到底发生了什么, 当然它也不需要知道。
*
*
* 模拟场景: 易建联说我要继续回归NBA, 然后他的经纪人就开始给他四处张罗处理流程。
*
* */
public class Main {
public static void main(String[] args){
Player player = new Player();
player.userName = "易建联";
player.goToNba();
}
}
package 门面模式;
public class Player {
public String userName;
// 这个地方是显示不同的业务类,
public IEconomic economic = new EconomicImpl();
public void goToNba(){
System.out.println(this.userName + "说,我将要进入NBA.....");
this.economic.NBABusiness();
this.economic.CBABusiness();
this.economic.marketPrice();
}
}
package 门面模式;
// 经济人
public interface IEconomic {
public void NBABusiness();
public void CBABusiness();
public void marketPrice();
}
package 门面模式;
public class EconomicImpl implements IEconomic{
@Override
public void NBABusiness() {
System.out.println("经纪人: 我正在处理NBA的业务");
}
@Override
public void CBABusiness() {
System.out.println("经纪人: 我正在处理CBA的业务");
}
@Override
public void marketPrice() {
System.out.println("经纪人: 我正在计算球员的薪资问题");
}
}