Sobes.tech
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.