日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

java 设计模式学习笔记十 bridge桥模式

發布時間:2024/10/12 asp.net 77 豆豆
生活随笔 收集整理的這篇文章主要介紹了 java 设计模式学习笔记十 bridge桥模式 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
bridge橋模式
將抽象和行為劃分開來,各自獨立但能動態結合


抽象的接口
/**
?* 咖啡抽象類
?*?
?* @time 下午09:14:27
?* @author retacn yue
?* @Email zhenhuayue@sina.com
?*/
public abstract class Coffee {
? ? ? ? //
CoffeeImp coffeeImp;
? ? ? ? //有木有點DI的感覺,有木有
public void setCoffeeImp() {
this.coffeeImp = CoffeeImpSingleton.getTheCoffeeImp();
}


? ? ? ? public CoffeeImp getCoffeeImp() {
return coffeeImp;
}


/**
* 沖咖啡
*/
public abstract void pourCoffee();
}




/**
?* 中杯
?*?
?* @time 下午09:29:11
?* @author retacn yue
?* @Email zhenhuayue@sina.com
?*/
public class MediumCoffee extends Coffee {


/**
* 構造器
*/
public MediumCoffee() {
// 是否添加咖啡
setCoffeeImp();
}


/**
* 沖咖啡
*/
@Override
public void pourCoffee() {
CoffeeImp coffeeImp = this.getCoffeeImp();
for (int i = 0; i < 2; i++) {
coffeeImp.pourCoffeeImp();
}
}


}


/**
?* 大杯咖啡
?*?
?* @time 下午09:37:03
?* @author retacn yue
?* @Email zhenhuayue@sina.com
?*/
public class SuperSizeCoffee extends Coffee {


/**
* 構造器
*/
public SuperSizeCoffee() {
// 是否加奶
setCoffeeImp();
}


/**
* 沖咖啡
*/
@Override
public void pourCoffee() {
CoffeeImp coffeeImp = this.getCoffeeImp();
for (int i = 0; i < 5; i++) {
coffeeImp.pourCoffeeImp();
}
}


}
=========================================================================


行為接口:


/**
?* coffee是否加奶
?*?
?* @time 下午09:18:41
?* @author retacn yue
?* @Email zhenhuayue@sina.com
?*/
public abstract class CoffeeImp {
public abstract void pourCoffeeImp();
}




/**
?* 不加奶
?*?
?* @time 下午09:45:20
?* @author retacn yue
?* @Email zhenhuayue@sina.com
?*/
public class FragrantCoffeeImp extends CoffeeImp {


/**
* 構造器
*/
public FragrantCoffeeImp() {
}


/**
* 不加奶沖咖啡
*/
@Override
public void pourCoffeeImp() {
System.out.println("啥也木加懷!詳香連!");
}


}






/**
?* 加奶
?*?
?* @time 下午09:41:56
?* @author retacn yue
?* @Email zhenhuayue@sina.com
?*/
public class MilkCoffeeImp extends CoffeeImp {


/**
* 構造器
*/
public MilkCoffeeImp() {
}


/**
* 加奶沖
*/
@Override
public void pourCoffeeImp() {
System.out.println("加新鮮人初乳!");
}
}








/**
?* 控制是否加奶
?*?
?* @time 下午09:23:06
?* @author retacn yue
?* @Email zhenhuayue@sina.com
?*/
@SuppressWarnings("static-access")
public class CoffeeImpSingleton {
private static CoffeeImp coffeeImp;


public CoffeeImpSingleton(CoffeeImp coffeeImp) {
this.coffeeImp = coffeeImp;
}


public static CoffeeImp getTheCoffeeImp() {
return coffeeImp;


}
}
===========================================================================
/**
?* 測試沖咖啡
?*?
?* @time 下午09:49:05
?* @author retacn yue
?* @Email zhenhuayue@sina.com
?*/
public class TestPourCoffee {


/**
* @param args
*/
@SuppressWarnings("unused")
public static void main(String[] args) {
// 加奶
// CoffeeImpSingleton singleton = new CoffeeImpSingleton(new
// MilkCoffeeImp());
// 不加奶
CoffeeImpSingleton coffeeImpSingleton = new CoffeeImpSingleton


(new FragrantCoffeeImp());
// 中杯加奶
// MediumCoffee mediumCoffee = new MediumCoffee();
// mediumCoffee.pourCoffee();


// 大杯加奶
SuperSizeCoffee superSizeCoffee = new SuperSizeCoffee();
superSizeCoffee.pourCoffee();
}
}

轉載于:https://www.cnblogs.com/retacn-yue/archive/2012/10/18/2761215.html

總結

以上是生活随笔為你收集整理的java 设计模式学习笔记十 bridge桥模式的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。