在我的控制器類我只是想只用一個電子表格類來處理所有相關電子表格創建功能,保存,加載,寫等當不同的庫創建電子表格時,使用哪種設計模式?
目前我使用一個開源庫phpspreadsheet
創建電子表格,如果後來我想將其更改爲另一個電子表格創建庫,我不想在控制器類上進行太多改動,相反,我可以爲此庫創建另一個類,如Spreadsheetlib2。那麼哪種設計模式更適合在這裏使用? 「橋」還是適配器?
//橋樑模式我現在正在嘗試。
interface SpreadsheetInterface {
public function create();
public function write();
}
class Spreadsheet extends AbstractSpreadsheet {
public function create() {
}
}
class PhpSpreadsheet implements SpreadsheetInterface {
public function create() {
}
}
abstract class AbstractSpreadsheet {
protected $spreadsheet;
protected function __construct(SpreadsheetInterface $spreadsheet) {
$this->spreadsheet = $spreadsheet;
}
}