Junior — Middle
Ako vysvetliť koncept vzoru Adaptér v kontexte návrhu softvérových systémov?
sobes.tech AI
Odpoveď od AI
Vzorec Adaptér slúži na pretransformovanie rozhrania jednej triedy na rozhranie očakávané klientom. To umožňuje pracovať s nekompatibilnými rozhraniami bez zmeny existujúceho kódu.
V kontexte Flutteru, napríklad, ak máte externú triedu s metódou, ktorá nezodpovedá vášmu rozhraniu, môžete vytvoriť adaptér, ktorý "preloží" volania.
Príklad:
// Externá trieda s iným rozhraním
class OldApi {
String fetchData() => 'Dáta zo starého API';
}
// Naše rozhranie
abstract class DataSource {
String getData();
}
// Adaptér
class ApiAdapter implements DataSource {
final OldApi oldApi;
ApiAdapter(this.oldApi);
@override
String getData() {
return oldApi.fetchData();
}
}
void main() {
OldApi oldApi = OldApi();
DataSource adapter = ApiAdapter(oldApi);
print(adapter.getData()); // Vypíše: Dáta zo starého API
}
Týmto spôsobom pomáha vzorec Adaptér integrovať nekompatibilné komponenty, pričom zachováva čistotu architektúry.