Sobes.tech
Junior — Middle

ORM kontekstida repository tushunchasi va uning ma'lumotlar bazasi bilan ishlashdagi roli haqida tushuntiring.

sobes.tech AI

AIdan javob

ORM kontekstida repository — bu ma'lumotlarga kirish va ma'lumotlar bazasi bilan o'zaro aloqani inkapsulyatsiya qiladigan abstraktsiya qatlamidir. U obyektlarni yaratish, o'qish, yangilash va o'chirish (CRUD) uchun metodlarni taqdim etadi va SQL so'rovlarining tafsilotlarini yashiradi.

Repository roli:

  • Ma'lumotlar bilan ishlashni soddalashtiradi, qulay interfeys taqdim etadi.
  • Biznes logikasini o'zgartirmasdan ma'lumotlarni saqlashni amalga oshirish imkonini beradi.
  • Toza arxitektura va mas'uliyatlarni ajratishni saqlashga yordam beradi.

TypeScript va TypeORM bilan misol:

class UserRepository {
  constructor(private ormRepository: Repository<User>) {}

  async findById(id: number): Promise<User | null> {
    return this.ormRepository.findOneBy({ id });
  }

  async save(user: User): Promise<User> {
    return this.ormRepository.save(user);
  }

  // boshqa metodlar...
}