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