1-amali mashg’ulot: Pattern loyihalashda “Factory Method”
if (config.OS == "Windows") then
Download 349,83 Kb.
|
if (config.OS == "Windows") then
dialog = new WindowsDialog() else if (config.OS == "Web") then dialog = new WebDialog() else throw new Exception("Error! Unknown operating system.") // Agar mijozning qolgan kodlari fabrikalar va mahsulotlar bilan faqat umumiy // interfeys orqali ishlasa, unda qaysi zavod dastlab yaratilganligi muhim bo'lmaydi. method main() is this.initialize() dialog.render() Topshiriq:
Qaysi mahsulotni yaratishni boshqarish uchun factory methodga bir nechta parametrlarni kiritishingiz kerak bo'lishi mumkin.
Masalan, sizda "AviaPochta " va "Yer usti pochta" va "Airplane", "Truck" va "Train" mahsulot sinflari bo'lgan "Pochta" klassi mavjud. Havo samolyotlariga to'g'ri keladi, ammo Ground Mail uchun ikkita mahsulot mavjud. Poezdlar uchun yangi pochta subklassini yaratishingiz mumkin, ammo muammoni hal qilishning boshqa usullari mavjud. Mijoz kodi yaratiladigan mahsulot turini boshqaradigan YerustiPochta sinfi factory methodiga argumentlarini keltirishi mumkin.
Download 349,83 Kb. Do'stlaringiz bilan baham: |
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2025
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling