第十篇 設計模式--橋接模式

定義:將抽象部分與它的實現部分分離,使它們都可以獨立地變化。

代碼:


package bridge_model;

/**
 * @author naivor
 *		橋接模式-場景類
 */
public class BirdgeModel {
	public static void main(String[] args) {
		Abstraction abstraction=new AbstractionA();		//在整個系統中,abstraction和implementor都可以獨立的變化
		Implementor implementor=new ImplementorA();		//比如任意一個或全部換成B類型類
		abstraction.setImplementor(implementor);
		abstraction.operate();
	}

}

/**
 * @author naivor
 *		橋接模式-實現部分抽象類
 */
abstract class Implementor{
	public abstract void doSomething();
}
/**
 * @author naivor
 *		橋接模式-實現部分類A
 */
class ImplementorA extends Implementor{

	@Override
	public void doSomething() {
		//ImplementorA業務處理邏輯
	}
	
}
/**
 * @author naivor
 *		橋接模式-實現部分類B
 */
class ImplementorB extends Implementor{

	@Override
	public void doSomething() {
		//ImplementorB業務處理邏輯B
	}
	
}
/**
 * @author naivor
 *		橋接模式-抽象部分抽象類
 */
abstract class Abstraction{
	private Implementor implementor;
	public void setImplementor(Implementor implementor){
		this.implementor=implementor;
	}
	
	public void operate(){
		implementor.doSomething();
	};
}
/**
 * @author naivor
 *		橋接模式-抽象部分類A
 */
class AbstractionA extends Abstraction{
	@Override
	public void operate() {
		// TODO Auto-generated method stub
		super.operate();
		doOtherthingA();
	}
	
	private void doOtherthingA(){
		//AbstractionA業務處理邏輯
	}
}
/**
 * @author naivor
 *		橋接模式-抽象部分類B
 */
class AbstractionB extends Abstraction{
	@Override
	public void operate() {
		// TODO Auto-generated method stub
		super.operate();
		doOtherthingB();
	}
	
	private void doOtherthingB(){
		//AbstractionA業務處理邏輯
	}
}


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