In meiner Controller-Klasse Ich will nur nur eine Kalkulationstabelle Klasse verwenden, um alle Funktionen in Tabellenkalkulationserstellung mit Bezug zu verarbeiten, speichern, zu laden, schreiben usw.Welches Entwurfsmuster wird verwendet, wenn verschiedene Bibliotheken ein Spreadsheet erstellen?
Derzeit ist ich mit einer Open-Source-Bibliothek phpspreadsheet
eine Tabelle erstellen Wenn ich das später in eine andere Bibliothek der Tabellenkalkulation ändern möchte, möchte ich nicht viel an der Controller-Klasse ändern, stattdessen kann ich eine andere Klasse für diese Bibliothek erstellen, wie Spreadsheetlib2. Welches Designmuster sollte hier besser verwendet werden? "Brücke" oder Adapter?
// Bridge Muster, was ich jetzt versuche.
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;
}
}