Mundarija:

Strategiya modeli qanday muammoni hal qiladi?
Strategiya modeli qanday muammoni hal qiladi?

Video: Strategiya modeli qanday muammoni hal qiladi?

Video: Strategiya modeli qanday muammoni hal qiladi?
Video: Har qanday muammoni qanday yechish mumkin? 2024, Aprel
Anonim

The strategiya namunasi odatlangan muammolarni hal qilish amalga oshirilishi mumkin bo'lgan (yoki taxmin qilingan) yoki hal qilingan turlicha strategiyalar va bunday holatlar uchun aniq belgilangan interfeysga ega.

Shunga o'xshab, siz so'rashingiz mumkin: strategiya dizayni naqshidan foydalanish nima?

Kompyuter dasturlashda, strategiya namunasi (shuningdek, siyosat sifatida ham tanilgan naqsh ) xulq-atvor dasturidir dizayn namunasi bu ish vaqtida algoritm tanlash imkonini beradi. Bitta algoritmni to'g'ridan-to'g'ri amalga oshirish o'rniga, kod algoritmlar oilasida qaysi biri bajarilishi kerakligi haqida ish vaqti ko'rsatmalarini oladi. foydalanish.

Ikkinchidan, strategiya modelidagi kontekst nima? The Strategiya namunasi sizga ma'lum bir narsani juda ko'p turli yo'llar bilan bajaradigan sinfni olishingizni va ushbu algoritmlarning barchasini alohida sinflarga ajratib olishingizni taklif qiladi. strategiyalar . Asl sinf, deb nomlangan kontekst , biriga havolani saqlash uchun maydon bo'lishi kerak strategiyalar.

Bundan tashqari, zavod va strategiya namunasi o'rtasidagi farq nima?

A zavod namunasi ijodkorlikdir naqsh . A strategiya namunasi operativ hisoblanadi naqsh . Boshqacha qilib aytganda, a zavod namunasi muayyan turdagi ob'ektlarni yaratish uchun ishlatiladi. A strategiya namunasi operatsiyani (yoki operatsiyalar to'plamini) bajarish uchun ishlatiladi a ichida alohida usul.

Java-da strategiya naqshlari qanday amalga oshiriladi?

Dizayn naqshlari - strategiya naqshlari

  1. Interfeys yarating. Strategy.java umumiy interfeysi Strategiya { public int doOperation(int num1, int num2); }
  2. Xuddi shu interfeysni amalga oshiradigan aniq sinflarni yarating.
  3. Kontekst sinfini yarating.
  4. Strategiyani o'zgartirganda xatti-harakatlarning o'zgarishini ko'rish uchun Kontekstdan foydalaning.
  5. 10 + 5 = 15 10 - 5 = 5 10 * 5 = 50.

Tavsiya: