Okuduğunuz konu hakkında proje yaptırmak isterseniz benimle buradan iletişime geçebilirsiniz. İletişim

c# ziyaretçi kodu

c# Ziyaretçi Kodu Kullanıcılar için ziyaretçi kodu

Bu örnekte ElementAve `Eleman ElementB. IElement Yöntemi içeren her iki Acceptarabirim. Yöntem Accept, öğelerin bir ziyaretçiyi kabul etmesine izin verir.

Arayüz , her somut eleman için yöntemleri IVisitor tanımlar . Visit Bu örnekte, arayüzü ConcreteVisitor uygulayan sınıfa sahibiz IVisitor.

Yöntemdeki müşteri kodu, ( ve ) Mainöğelerinin ve ziyaretçinin ( ) örneklerini oluşturur. Daha sonra , ziyaretçiyi geçerek her öğedeki yöntemi çağırır . Elemanlar da her bir elemana özel gerekli işlemleri yapan ziyaretçi üzerinde uygun yöntemi çağırır.elementAelementBvisitorAcceptVisit

c# kodu

.csharp
using System;

// The Visitor interface defines the Visit methods for each concrete element.
interface IVisitor
{
    void Visit(ElementA elementA);
    void Visit(ElementB elementB);
}

// The Element interface defines the Accept method for accepting a visitor.
interface IElement
{
    void Accept(IVisitor visitor);
}

// Concrete Element A
class ElementA : IElement
{
    public void Accept(IVisitor visitor)
    {
        visitor.Visit(this);
    }

    public void OperationA()
    {
        Console.WriteLine("Element A operation");
    }
}

// Concrete Element B
class ElementB : IElement
{
    public void Accept(IVisitor visitor)
    {
        visitor.Visit(this);
    }

    public void OperationB()
    {
        Console.WriteLine("Element B operation");
    }
}

// Concrete Visitor
class ConcreteVisitor : IVisitor
{
    public void Visit(ElementA elementA)
    {
        Console.WriteLine("ConcreteVisitor visits ElementA");
        elementA.OperationA();
    }

    public void Visit(ElementB elementB)
    {
        Console.WriteLine("ConcreteVisitor visits ElementB");
        elementB.OperationB();
    }
}

// Client code
class Program
{
    static void Main(string[] args)
    {
        // Create elements
        var elementA = new ElementA();
        var elementB = new ElementB();

        // Create visitor
        var visitor = new ConcreteVisitor();

        // Accept the visitor
        elementA.Accept(visitor);
        elementB.Accept(visitor);

        Console.ReadLine();
    }
}

Bu, Ziyaretci kodu Css ile Visitor modelinin öğeler üzerinde gerçekleştirilen işlemleri öğe sınıflarından ayırmanıza nasıl olanak tanıdığını gösterir, genişletilebilirliği ve esnekliği destekler.

CSS Kodu

.CSS
ConcreteVisitor visits ElementA
Element A operation
ConcreteVisitor visits ElementB
Element B operation


Örnek Başka Kodlar Github

Demo

Kafanıza takılan yerler için yorumlar kısmından bana ulaşabilir ve sorularınızı sorabilirsiniz ve iletişim için burdan iletişim sayfasından iletişime geçebilirsiniz.

Yorum Gönder