java 橋模式(Bridge Pattern)詳解
java 橋模式(Bridge Pattern)
Bridge模式解耦,其實(shí)施的定義。它是一種結(jié)構(gòu)模式。本模式涉及充當(dāng)橋的接口。這座橋使具體的類獨(dú)立的接口實(shí)施者類。
Bridge模式解耦,其實(shí)施的定義。它是一種結(jié)構(gòu)模式。
本模式涉及充當(dāng)橋的接口。這座橋使具體的類獨(dú)立的接口實(shí)施者類。
這兩種類型的類可以在不影響彼此被改變。
實(shí)例:
interface Printer {
public void print(int radius, int x, int y);
}//from www.j a v a2 s . c om
class ColorPrinter implements Printer {
@Override
public void print(int radius, int x, int y) {
System.out.println("Color: " + radius +", x: " +x+", "+ y +"]");
}
}
class BlackPrinter implements Printer {
@Override
public void print(int radius, int x, int y) {
System.out.println("Black: " + radius +", x: " +x+", "+ y +"]");
}
}
abstract class Shape {
protected Printer print;
protected Shape(Printer p){
this.print = p;
}
public abstract void draw();
}
class Circle extends Shape {
private int x, y, radius;
public Circle(int x, int y, int radius, Printer draw) {
super(draw);
this.x = x;
this.y = y;
this.radius = radius;
}
public void draw() {
print.print(radius,x,y);
}
}
public class Main {
public static void main(String[] args) {
Shape redCircle = new Circle(100,100, 10, new ColorPrinter());
Shape blackCircle = new Circle(100,100, 10, new BlackPrinter());
redCircle.draw();
blackCircle.draw();
}
}
感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!
- Java反射之靜態(tài)加載和動(dòng)態(tài)加載的簡單實(shí)例
- java 裝飾模式(Decorator Pattern)詳解
- java 實(shí)現(xiàn)多線程的方法總結(jié)
- Java反射之通過反射獲取一個(gè)對象的方法信息(實(shí)例代碼)
- Java從控制臺(tái)讀入數(shù)據(jù)的幾種方法總結(jié)
- Java中關(guān)于控制臺(tái)讀取數(shù)字或字符串的方法
- Java反射之類的實(shí)例對象的三種表示方式總結(jié)
- Java版本的回文字算法(java版本)
- Java創(chuàng)建數(shù)組的幾種方式總結(jié)
- java 過濾器模式(Filter/Criteria Pattern)詳細(xì)介紹
相關(guān)文章
servlet的url-pattern匹配規(guī)則詳細(xì)描述(小結(jié))
在利用servlet或Filter進(jìn)行url請求的匹配時(shí),很關(guān)鍵的一點(diǎn)就是匹配規(guī)則。這篇文章主要介紹了servlet的url-pattern匹配規(guī)則詳細(xì)描述(小結(jié)),非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-07-07
Elasticsearch配置文件選項(xiàng)作用詳解(es7)
這篇文章主要為大家介紹了Elasticsearch配置文件選項(xiàng)作用詳解(es7),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-09-09
將InputStream轉(zhuǎn)化為base64的實(shí)例
這篇文章主要介紹了將InputStream轉(zhuǎn)化為base64的實(shí)例,具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2021-12-12
Spring?Boot?詳細(xì)分析Conditional自動(dòng)化配置注解
首先我們先了解一下@Conditional注解,@Conditional是Spring4新提供的注解,它的作用是按照一定的條件進(jìn)行判斷,需要注入的Bean滿足給定條件才可以注入到Spring?IOC容器中2022-07-07
springboot驗(yàn)證碼生成以及驗(yàn)證功能舉例詳解
登錄注冊是大部分系統(tǒng)需要實(shí)現(xiàn)的基本功能,同時(shí)也會(huì)對登錄驗(yàn)證增加需求,下面這篇文章主要給大家介紹了關(guān)于springboot驗(yàn)證碼生成以及驗(yàn)證功能的相關(guān)資料,需要的朋友可以參考下2023-04-04
Springboot Session共享實(shí)現(xiàn)原理及代碼實(shí)例
這篇文章主要介紹了Springboot Session共享實(shí)現(xiàn)原理及代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-08-08
java中split()方法以及常見算法經(jīng)典案例
這篇文章主要介紹了java中split()方法以及常見算法的相關(guān)資料,split()方法可以根據(jù)指定的正則表達(dá)式將字符串分割成多個(gè)子字符串,并返回一個(gè)字符串?dāng)?shù)組,文中通過代碼介紹的非常詳細(xì),需要的朋友可以參考下2025-04-04
java報(bào)錯(cuò):找不到或無法加載主類的解決方法簡單粗暴
本文主要介紹了java報(bào)錯(cuò):找不到或無法加載主類的解決方法簡單粗暴,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01

