java設計模式-外觀模式

什麼是外觀模式:
外觀模式其實就是封裝,爲子系統封裝對外的一個接口,屏蔽內部複雜的操作,例如,我們要註冊一家公司,我們可以找代理註冊公司的機構,讓它爲我們處理註冊所有的細節,而我們只需要面對註冊公司處理流程就行。

開發中外觀模式場景:
常見的util包,例如spring的beanutils,FileUtils以及其他的工具類,其實使用的都是外觀模式。

外觀模式實現例子:
實現的場景是一款軟件產品開發過程,產品的開發需要各個部門的合作,而對外的話,只需提供一個銷售的接口。

/**
 * 部門接口
 * @author liuxg
 * @date 2016年5月27日 下午12:17:22
 */
public interface IDepartment {

    void remit();  //部門職能

}

class Research implements IDepartment{

    @Override
    public void remit() {
        System.out.println("研發產品");

    }
}

class Business implements IDepartment{

    @Override
    public void remit() {
        System.out.println("定需求");

    }

}

class Sale implements IDepartment{

    @Override
    public void remit() {
        System.out.println("賣產品");

    }

}

提供一個外觀類,並且給客戶端提供一個接口,封裝具體的實現細節

/**
 * 一個代理類,將所有的流程綁定成一個方法
 * @author liuxg
 * @date 2016年5月27日 下午5:26:46
 */
public class RegisterFacade {

    public void buyProduct(){

        Business bs = new Business();
        bs.remit();
        Research re = new Research();
        re.remit();
        Sale sale = new Sale();
        sale.remit();
    }

}

客戶端只需訪問一個接口即可

public class Client {

    public static void main(String[] args) {
        RegisterFacade registerFacade = new RegisterFacade();
        registerFacade.buyProduct();
    }

}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章