Junior — Middle
Como explicar o conceito do padrão Adaptador no contexto do design de sistemas de software?
sobes.tech IA
Resposta da IA
O padrão Adaptador serve para transformar a interface de uma classe na interface esperada pelo cliente. Isso permite trabalhar com interfaces incompatíveis sem alterar o código existente.
No contexto do Flutter, por exemplo, se tiver uma classe externa com um método que não corresponde à sua interface, pode criar um adaptador que "traduz" as chamadas.
Exemplo:
// Classe externa com outra interface
class OldApi {
String fetchData() => 'Dados da API antiga';
}
// Nossa interface
abstract class DataSource {
String getData();
}
// Adaptador
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()); // Vai mostrar: Dados da API antiga
}
Dessa forma, o padrão Adaptador ajuda a integrar componentes incompatíveis, mantendo a arquitetura limpa.