Zbeksiton respublikasi axborot texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi
Download 273.97 Kb.
|
task1
- Bu sahifa navigatsiya:
- Factory Method” patterni
O’ZBEKSITON RESPUBLIKASI AXBOROT TEXNOLOGIYALARI VA KOMMUNIKATSIYALARINI RIVOJLANTIRISH VAZIRLIGI TОSHKЕNT AХBОRОT TЕХNОLОGIYALARI UNIVЕRSITЕTI Dasturiy ta’minot arxitekturasi Amaliy topshiriq O’qituvchi: Baydullayev Ruslan Bajardi: Raimberdiyev Fozilbek “Factory Method” patterni Factory method pattern, obyektlarni yaratishni boshqarish uchun ishlatiladi. Ushbu pattern, obyekt yaratishni boshqarishni osonlashtiradi va eng yaxshi nusxalarini olish uchun yordam beradi. Misol uchun, foydalanuvchidan turli video fayllarini ko'chirish uchun dastur yaratishimiz kerak. Videoni ko'chirish uchun ikkita tur fayl bor: "mp4" va "avi". Biz turli turdagi fayllarni ko'chirish uchun Factory method patternni qo'llashni rejalashtirishimiz mumkin. Kod quyidagicha ko'rinadi: from abc import ABC, abstractmethod class Video(ABC):
class Mp4(Video): def play(self): return "Mp4 fayli ko'chirildi" class Avi(Video): def play(self): return "Avi fayli ko'chirildi" class VideoFactory: def play_video(self, video_type): if video_type == 'mp4': return Mp4() elif video_type == 'avi': return Avi() return 'Turi mavjud emas' video = VideoFactory()
Ushbu kod, Factory Method patternidan foydalanarak turli turlarda video fayllarni o'qish imkoniyatini beradi. Kod yordamida ABC va abstractmethod modullari ishlatiladi. Bu modullar abstrakt klasslar yaratishni va uning metodlarini boshqarishni yordam beradi. Kod yordamida `Video` klassi yaratiladi, bu klassning o'zida `play` nomli metod mavjud bo'ladi. `Mp4` va `Avi` klasslari `Video` klassidan farqli turdagi fayllarni ifodalash uchun yaratiladi. `VideoFactory` klassi, foydalanuvchining yaratmoqchi bo'lgan faylning turlarini tekshirish va mos fayllarni yaratish uchun yaratilgan klass. `VideoFactory` klassining `play_video` metodida, foydalanuvchi tomonidan kiritilgan video turi tekshiriladi va mos turga ega fayl obyekti yaratiladi. Agar mos fayl turiga ega obyekt yaratilmasa, shunday tur mavjud emas deyiladi. Yuqoridagi kod, faqat Mp4 va Avi fayllarini o'qish imkoniyatini beradi, lekin boshqa turdagi fayllarni o'qish imkoniyatini qo'shish uchun yalpi Factory Method patternini boshqaradigan klasslarni qo'shishimiz kerak bo'ladi. Download 273.97 Kb. Do'stlaringiz bilan baham: |
ma'muriyatiga murojaat qiling