Zbeksiton respublikasi axborot texnologiyalari va kommunikatsiyalarini rivojlantirish vazirligi


Download 273.97 Kb.
Sana11.05.2023
Hajmi273.97 Kb.
#1452004
Bog'liq
task1


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


  1. 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):
@abstractmethod
def play(self):
pass

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()
print(video.play_video('mp4').play())
print(video.play_video('avi').play())

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'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling