如何取消wordpress限制搜索引擎優(yōu)化大致包含哪些內(nèi)容或環(huán)節(jié)
2.1-適配器模式
? 類的適配器模式是把適配者類的API轉(zhuǎn)換成為目標(biāo)類的API,適配器模式使得原來(lái)由于接口不兼容而不能一起工作的那些類可以一起工作,其實(shí)在具體的開(kāi)發(fā)中,對(duì)于自己系統(tǒng)一開(kāi)始的設(shè)計(jì)不會(huì)優(yōu)先考慮適配器模式,通常會(huì)將接口設(shè)置成兼容的,但是難免會(huì)有設(shè)計(jì)的缺陷,導(dǎo)致接口不兼容的類需要一起工作,這時(shí)候就可以使用適配器模式進(jìn)行轉(zhuǎn)換;其次適配器模式經(jīng)常用于接入第三方系統(tǒng),由于第三方系統(tǒng)與我們系統(tǒng)不兼容,我們也不會(huì)因?yàn)榻尤脒@個(gè)三方系統(tǒng)而去修改我們現(xiàn)有的接口,因此一般會(huì)使用適配器模式進(jìn)行接口轉(zhuǎn)換。
適配器模式主要包含如下幾種角色
- 適配器類:適配器模式的核心,里面編寫(xiě)適配轉(zhuǎn)換的代碼,是一個(gè)類
- 目標(biāo)類:最終客戶端所需要的接口,可以是接口、抽象類、具體類,在適配器中,由于Java不支持類的多繼承,因此在Java的
類適配器模式
中只能是接口,在對(duì)象適配器模式
中可以是類 - 適配者類:里面包含了客戶端所需要的API,適配者類一般是一個(gè)具體的類
? 適配器模式主要包括兩種實(shí)現(xiàn)形式,類適配器
和對(duì)象適配器
,其實(shí)這兩種的主要區(qū)別就在于適配者類所處的位置,接下來(lái)我們分別介紹
2.1.1-類適配器模式
? 類適配器模式中,適配器類會(huì)實(shí)現(xiàn)目標(biāo)類,然后繼承適配者類,由于Java類不能多繼承,所以適配器模式中目標(biāo)類只能是一個(gè)接口,代碼示例如下:
適配者類
/*** 適配者* @author Liu Hanlin* @create 2024-09-30 22:14*/
public class ClsAdaptee {/*** 基礎(chǔ)請(qǐng)求API* @return*/public String baseRequestAPI(){return "基礎(chǔ)請(qǐng)求API";}
}
目標(biāo)類
/*** 目標(biāo)類* @author Liu Hanlin* @create 2024-09-30 22:13*/
public interface ClsTarget {/*** 目標(biāo)請(qǐng)求API* @return*/String request();
}
適配器類
/*** 類適配器* @author Liu Hanlin* @create 2024-09-30 22:12*/
public class ClsAdapter extends ClsAdaptee implements ClsTarget{@Overridepublic String request() {return this.baseRequestAPI();}
}
2.1.2-對(duì)象適配器模式
? 對(duì)象適配器模式中,適配器類會(huì)繼承或?qū)崿F(xiàn)目標(biāo)類,然后將適配者類作為適配器的一個(gè)屬性,在重寫(xiě)目標(biāo)類的方法時(shí),調(diào)用適配者類的方法,具體代碼如下
適配者類
/*** 適配者類* @author Liu Hanlin* @create 2024-09-30 22:20*/
public class ObjAdaptee {/*** 基礎(chǔ)請(qǐng)求API* @return*/public String baseRequestAPI(){return "基礎(chǔ)請(qǐng)求API";}
}
目標(biāo)類
/*** 目標(biāo)類【對(duì)象適配器模式中,目標(biāo)類可以是抽象類和具體類】* @author Liu Hanlin* @create 2024-09-30 22:21*/
public abstract class ObjTarget {/*** 目標(biāo)請(qǐng)求API* @return*/abstract public String request();
}
適配器類
/*** 適配器* @author Liu Hanlin* @create 2024-09-30 22:20*/
public class ObjAdapter extends ObjTarget{ObjAdaptee adaptee = new ObjAdaptee();@Overridepublic String request() {return adaptee.baseRequestAPI();}
}
如上就是適配器模式的具體代碼以及具體解釋。