php 介面卡模式

2021-09-25 17:15:49 字數 1122 閱讀 5983

介面卡模式

現在有這樣乙個場景,某公司有一群動物,各種動物會吃飯,說話,普通實現方式就是寫乙個父類,其子類去繼承父類實現該方法;

<?php

abstract

class

subject

class cat extends

subject

public

function

eat()

}

現在其他動物要進來,不過他們呼叫的方式是dotalk和doeat兩種方法,如果實現的話就是直接在增加兩個方法

<?php

abstract

class

subject

class cat extends

subject

public

function

eat()

public

function

dotalk()

public

function

doeat()

}

可是以後陸續增加其他動物,程式設計師的工作量就特別大,如果要修改一些方法,那程式設計師會發瘋的基本;有其他方法解決嗎?當然有了,就是今天的主角,介面卡模式。

<?php

abstract

class

subject

class cat extends

subject

public

function

eat()

public

function

dotalk()

public

function

doeat()

}inte***ce

dog

class dogadapter implements

dog

public

function

dotalk()

public

function

doeat()

}

這樣寫就降低了**的耦合度,實現了程式設計的開閉原則:對擴充套件開發,對修改關閉。

PHP介面卡模式

介面卡模式 adapter 將乙個類的介面轉換成客戶希望的另外乙個介面。adapter模式使得原本由於介面不相容而不能一起工作的那些類可以一起工作。適用場景 1 已經存在的類的介面不符合我們的需求 2 建立乙個可以復用的類,使得該類可以與其他不相關的類或不可預見的類 即那些介面可能不一定相容的類 協...

介面卡模式 PHP

學習框架遇到介面卡問題,做下記錄 1.類介面卡,以繼承為主要方式,擴充套件原有的類 inte ce class1 inte ce class2 class class3 implements class1 public function f2 class class4 extends class3 ...

php介面卡模式

abstract class toy class dog extends toy public function closemouth class cat extends toy public function closemouth 目標角色 紅棗遙控公司 inte ce redtarget 目標角...