Junior — Middle
Siz 'mehmonga' shablonining konseptini va uning dasturlashda qo'llanilishini tushuntira olasizmi?
sobes.tech AI
AIdan javob
Visitor naqshasi algoritmlarni obyektlardan ajratishga imkon beradi. U obyektlar tuzilmasidagi elementlar ustida bajariladigan operatsiyani belgilaydi va yangi operatsiyalarni elementlarning sinflarini o'zgartirmasdan qo'shishga imkon beradi.
Qo'llanilishi:
- Murakkab tuzilmadagi obyektlar ustida turli operatsiyalar bajarilishi kerak bo'lsa.
- Yangi operatsiyalar tez-tez qo'shilsa, ammo obyektlar tuzilmasi barqaror bo'lsa.
C# misoli:
interface IVisitor {
void Visit(ElementA element);
void Visit(ElementB element);
}
interface IElement {
void Accept(IVisitor visitor);
}
class ElementA : IElement {
public void Accept(IVisitor visitor) {
visitor.Visit(this);
}
}
class ElementB : IElement {
public void Accept(IVisitor visitor) {
visitor.Visit(this);
}
}
class ConcreteVisitor : IVisitor {
public void Visit(ElementA element) {
Console.WriteLine("ElementA ni qayta ishlash");
}
public void Visit(ElementB element) {
Console.WriteLine("ElementB ni qayta ishlash");
}
}
Bu yerda, yangi operatsiyalarni yangi tashrif buyuruvchilar sinflarini yaratish orqali qo'shish mumkin, element sinflarini o'zgartirmasdan.