中文亚洲精品无码_熟女乱子伦免费_人人超碰人人爱国产_亚洲熟妇女综合网

當(dāng)前位置: 首頁(yè) > news >正文

視頻拍攝腳本模板廣州seo優(yōu)化費(fèi)用

視頻拍攝腳本模板,廣州seo優(yōu)化費(fèi)用,家裝公司電話,wordpress無(wú)法拖動(dòng)小工具一、概述 將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。 二、適用性 1.你想使用一個(gè)已經(jīng)存在的類,而它的接口不符合你的需求。 2.你想創(chuàng)建一個(gè)可以復(fù)用的類,該類可以與其他不…

一、概述

將一個(gè)類的接口轉(zhuǎn)換成客戶希望的另外一個(gè)接口。Adapter模式使得原本由于接口不兼容而不能一起工作的那些類可以一起工作。

二、適用性

1.你想使用一個(gè)已經(jīng)存在的類,而它的接口不符合你的需求。

2.你想創(chuàng)建一個(gè)可以復(fù)用的類,該類可以與其他不相關(guān)的類或不可預(yù)見(jiàn)的類(即那些接口 可能不一定兼容的類)協(xié)同工作。

3.(僅適用于對(duì)象Adapter)你想使用一些已經(jīng)存在的子類,但是不可能對(duì)每一個(gè)都進(jìn)行 子類化以匹配它們的接口。對(duì)象適配器可以適配它的父類接口。

三、參與者

1.Target 定義Client使用的與特定領(lǐng)域相關(guān)的接口。

2.Client 與符合Target接口的對(duì)象協(xié)同。

3.Adaptee 定義一個(gè)已經(jīng)存在的接口,這個(gè)接口需要適配。

4.Adapter 對(duì)Adaptee的接口與Target接口進(jìn)行適配

四、類圖

五、示例

Target接口

public interface Target {void adapteeMethod();void adapterMethod();
}

?Adaptee類

public class Adaptee {public void adapteeMethod() {System.out.println("Adaptee method!");}
}

適配器類Adapter

public class Adapter implements Target {private Adaptee adaptee;public Adapter(Adaptee adaptee){this.adaptee = adaptee;}@Overridepublic void adapteeMethod() {adaptee.adapteeMethod();}@Overridepublic void adapterMethod() {System.out.println("Adapter method!");}
}

測(cè)試類

public class TestAdapter {@Testpublic void ruleTest() {Target target = new Adapter(new Adaptee());target.adapteeMethod();target.adapterMethod();}
}

測(cè)試結(jié)果

Connected to the target VM, address: '127.0.0.1:3881', transport: 'socket'
Adaptee method!
Adapter method!
Disconnected from the target VM, address: '127.0.0.1:3881', transport: 'socket'

?六、實(shí)踐

文件中心服務(wù)開(kāi)發(fā)。

文件操作適配相關(guān)總體目錄

自研文件服務(wù)相關(guān)

/*** @author* @createTime 2021年01月15日* @Description 自研文件服務(wù)接口*/
public interface IFileOperateService {/*** 上傳文件* @param dto 參數(shù)* @return 文件id*/String upload(FileUploadDto dto);/*** 流式上傳文件* @param streamDto 參數(shù)* @return 文件id*/String upload4Stream(FileUploadForStreamDto streamDto);/*** 下載文件* @param fileId 文件id* @return 結(jié)果*/FileDownloadDto download(String fileId);/*** 流式下載文件* @param fileId 文件id* @return 結(jié)果*/FileDownloadForStreamDto download4Stream(String fileId);
}

?實(shí)現(xiàn)

/*** @author* @createTime 2021年01月15日* @Description 自研文件服務(wù)實(shí)現(xiàn)*/
public class CustomFileOperateServiceImpl implements IFileOperateService {@Overridepublic String upload(FileUploadDto dto) {System.out.println("自研文件服務(wù)上傳文件...");return null;}@Overridepublic String upload4Stream(FileUploadForStreamDto streamDto) {System.out.println("自研文件服務(wù)流式上傳文件...");return null;}@Overridepublic FileDownloadDto download(String fileId) {System.out.println("自研文件服務(wù)下載文件...");return null;}@Overridepublic FileDownloadForStreamDto download4Stream(String fileId) {System.out.println("自研文件服務(wù)流式下載文件...");return null;}
}

第三方文件相關(guān)

/*** @author* @createTime 2021年01月15日* @Description 第三方文件服務(wù)接口*/
public interface IThirdPartyFileOperateService {/*** 上傳文件* @param dto 參數(shù)* @return 文件id*/String upload(FileUploadDto dto);/*** 流式上傳文件* @param streamDto 參數(shù)* @return 文件id*/String upload4Stream(FileUploadForStreamDto streamDto);/*** 下載文件* @param fileId 文件id* @return 結(jié)果*/FileDownloadDto download(String fileId);/*** 流式下載文件* @param fileId 文件id* @return 結(jié)果*/FileDownloadForStreamDto download4Stream(String fileId);
}

實(shí)現(xiàn)

/*** @author* @createTime 2021年01月15日* @Description 阿里oss服務(wù)*/
public class AliOssFileOperateServiceImpl implements IThirdPartyFileOperateService {@Overridepublic String upload(FileUploadDto dto) {System.out.println("oss文件服務(wù)上傳文件...");return null;}@Overridepublic String upload4Stream(FileUploadForStreamDto streamDto) {System.out.println("oss文件服務(wù)流式上傳文件...");return null;}@Overridepublic FileDownloadDto download(String fileId) {System.out.println("oss文件服務(wù)下載文件...");return null;}@Overridepublic FileDownloadForStreamDto download4Stream(String fileId) {System.out.println("oss文件服務(wù)流式下載文件...");return null;}
}

聲明一個(gè)統(tǒng)一的適配標(biāo)準(zhǔn)

/*** @author * @createTime 2021年01月15日* @Description*/
public interface FileOperateAdaptee extends IThirdPartyFileOperateService {
}

適配器-CustomFileOperateAdaptor

/*** @author * @createTime 2021年01月15日* @Description*/
public class CustomFileOperateAdaptor implements FileOperateAdaptee {private final IFileOperateService customFileOperationService;public CustomFileOperateAdaptor(IFileOperateService customFileOperationService) {this.customFileOperationService = customFileOperationService;}@Overridepublic String upload(FileUploadDto dto) {return customFileOperationService.upload(dto);}@Overridepublic String upload4Stream(FileUploadForStreamDto streamDto) {return customFileOperationService.upload4Stream(streamDto);}@Overridepublic FileDownloadDto download(String fileId) {return customFileOperationService.download(fileId);}@Overridepublic FileDownloadForStreamDto download4Stream(String fileId) {return customFileOperationService.download4Stream(fileId);}
}

適配器-MultiWriteAndReadCustomOperateAdaptor

/*** @author* @createTime 2021年01月15日* @Description 上傳時(shí)多寫(xiě),讀取時(shí)優(yōu)先從自研文件服務(wù)中讀取的適配器*/
public class MultiWriteAndReadCustomOperateAdaptor extends AbstractFileMultiWriteOperateAdaptor {public MultiWriteAndReadCustomOperateAdaptor(IFileOperateService fileOperationService, IThirdPartyFileOperateService thirdPartyFileOperationService) {super(fileOperationService, thirdPartyFileOperationService);}@Overridepublic String upload(FileUploadDto dto) {System.out.println("MultiWriteAndRead文件服務(wù)上傳文件...");return null;}@Overridepublic String upload4Stream(FileUploadForStreamDto streamDto) {System.out.println("MultiWriteAndRead文件服務(wù)流式上傳文件...");return null;}@Overridepublic FileDownloadDto download(String fileId) {System.out.println("MultiWriteAndRead文件服務(wù)下載文件...");return null;}@Overridepublic FileDownloadForStreamDto download4Stream(String fileId) {System.out.println("MultiWriteAndRead文件服務(wù)流式下載文件...");return null;}
}

文件服務(wù)工廠-FileOperateFactory

/*** @author* @createTime 2021年01月15日* @Description 文件服務(wù)工廠*/
public class FileOperateFactory {public static IThirdPartyFileOperateService getDefault() {return getInstance(EnumFileOperateType.MULTI_WRITE_AND_READ_FROM_CUSTOM);}/*** 獲取對(duì)應(yīng)的文件服務(wù)實(shí)例* @param operationType 類型* @return 實(shí)例*/public static IThirdPartyFileOperateService getInstance(EnumFileOperateType operationType) {switch (operationType) {case OSS:return new AliOssFileOperateServiceImpl();case CUSTOM:return  new CustomFileOperateAdaptor(new CustomFileOperateServiceImpl());case MULTI_WRITE_AND_READ_FROM_CUSTOM:return  new MultiWriteAndReadCustomOperateAdaptor(new CustomFileOperateServiceImpl(),new AliOssFileOperateServiceImpl());default:throw new IllegalArgumentException("storageType is not support");}}
}

自測(cè)

@Test
public void fileTest() {IThirdPartyFileOperateService operateService =            FileOperateFactory.getInstance(EnumFileOperateType.MULTI_WRITE_AND_READ_FROM_CUSTOM);operateService.upload(new FileUploadDto());operateService.download("this is fileId");
}

自測(cè)結(jié)果

Connected to the target VM, address: '127.0.0.1:6502', transport: 'socket'
MultiWriteAndRead文件服務(wù)上傳文件...
MultiWriteAndRead文件服務(wù)下載文件...
Disconnected from the target VM, address: '127.0.0.1:6502', transport: 'socket'

http://www.risenshineclean.com/news/53594.html

相關(guān)文章:

  • 百度統(tǒng)計(jì)網(wǎng)站速度診斷快速優(yōu)化官網(wǎng)
  • 發(fā)放淘寶優(yōu)惠券的網(wǎng)站怎么做免費(fèi)seo推廣計(jì)劃
  • 山東電力建設(shè)第一工程公司網(wǎng)站怎么讓客戶主動(dòng)找你
  • 網(wǎng)站推廣商品怎么做效果最好奇葩網(wǎng)站100個(gè)
  • 經(jīng)典網(wǎng)站案例國(guó)際新聞今天
  • seo網(wǎng)站結(jié)構(gòu)優(yōu)化seo排名查詢軟件
  • 公司網(wǎng)站設(shè)計(jì)案例其他搜索引擎
  • 建設(shè)銀行的網(wǎng)站是多少網(wǎng)絡(luò)營(yíng)銷專業(yè)是學(xué)什么的
  • 網(wǎng)頁(yè)定做寧波 seo排名公司
  • 馀姚網(wǎng)站建設(shè)公司網(wǎng)站模版
  • 鄭州企業(yè)網(wǎng)站開(kāi)發(fā)營(yíng)銷軟文怎么寫(xiě)
  • 企業(yè)網(wǎng)站建設(shè)公司鄭州什么樣的人適合做策劃
  • html5寫(xiě)的網(wǎng)站有什么好處手機(jī)百度關(guān)鍵詞優(yōu)化
  • 用wordpress做音樂(lè)網(wǎng)站seo產(chǎn)品是什么意思
  • 廣州黃埔網(wǎng)站建設(shè)公司哪家好網(wǎng)頁(yè)制作教程書(shū)籍
  • 學(xué)做網(wǎng)站應(yīng)該看那些書(shū)廈門(mén)關(guān)鍵詞優(yōu)化seo
  • 深圳網(wǎng)站建設(shè)企濟(jì)南優(yōu)化seo公司
  • 做網(wǎng)站得多少錢(qián)幫平臺(tái)做推廣怎么賺錢(qián)
  • 獨(dú)立建設(shè)網(wǎng)站制作重慶鎮(zhèn)海seo整站優(yōu)化價(jià)格
  • php做網(wǎng)站用html做嗎百度網(wǎng)站名稱
  • 注冊(cè)網(wǎng)站亂填郵箱廣州搜索seo網(wǎng)站優(yōu)化
  • 企業(yè)網(wǎng)站 帶后臺(tái)聊城seo整站優(yōu)化報(bào)價(jià)
  • 威客做的好的網(wǎng)站蘇州網(wǎng)站建設(shè)公司排名
  • 外包建站的公司怎么做seo網(wǎng)站做優(yōu)化
  • 東莞制作公司網(wǎng)站的公司如何提升網(wǎng)站seo排名
  • 福建seo關(guān)鍵詞優(yōu)化外包新站seo優(yōu)化快速上排名
  • 網(wǎng)站后臺(tái)慢市場(chǎng)營(yíng)銷在線課程
  • 建設(shè)財(cái)經(jīng)資訊網(wǎng)站的目的視頻營(yíng)銷成功的案例
  • wordpress 406優(yōu)化人員配置
  • 阿里云做電腦網(wǎng)站佛山網(wǎng)站設(shè)計(jì)實(shí)力樂(lè)云seo