Junior — Middle
Comment expliqueriez-vous le concept du pattern Adaptateur dans le contexte de la conception de systèmes logiciels?
sobes.tech IA
Réponse de l'IA
Le motif Adaptateur sert à transformer l'interface d'une classe en l'interface attendue par le client. Cela permet de travailler avec des interfaces incompatibles sans modifier le code existant.
Dans le contexte de Flutter, par exemple, si vous avez une classe externe avec une méthode qui ne correspond pas à votre interface, vous pouvez créer un adaptateur qui "traduit" les appels.
Exemple:
// Classe externe avec une autre interface
class OldApi {
String fetchData() => 'Données de l'ancien API';
}
// Notre interface
abstract class DataSource {
String getData();
}
// Adaptateur
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()); // Affichera: Données de l'ancien API
}
Ainsi, le motif Adaptateur aide à intégrer des composants incompatibles tout en conservant la propreté de l'architecture.