Junior — Middle
Dasturiy tizimlarni loyihalash kontekstida Adapter naqshining konseptini qanday tushuntirasiz?
sobes.tech AI
AIdan javob
Adapter naqshisi, bir sinfning interfeysini mijoz kutgan interfeysga aylantirish uchun xizmat qiladi. Bu, mavjud kodni o'zgartirmasdan, mos kelmaydigan interfeyslar bilan ishlash imkonini beradi.
Flutter kontekstida, masalan, sizda tashqi sinf bo'lib, uning usuli sizning interfeysingiz bilan mos kelmayotgan bo'lsa, siz chaqiruvlarni "tarjimlaydigan" adapter yaratishingiz mumkin.
Misol:
// Boshqa interfeysga ega tashqi sinf
class OldApi {
String fetchData() => 'Eski API dan ma'lumotlar';
}
// Bizning interfeys
abstract class DataSource {
String getData();
}
// Adapter
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()); // Natija: Eski API dan ma'lumotlar
}
Shu tarzda, Adapter naqsh, mos kelmaydigan komponentlarni integratsiya qilishga yordam beradi va arxitekturani toza saqlaydi.