Wzorce projektowe: Adapter

by Piotrosz 5. February 2009
Adapter (należący do grupy wzorców strukturalnych) pozwala klasom współpracować ze sobą, co w innym przypadku byłoby niemożliwe z powodu niezgodności interfejsów między tymi klasami. Adapter tłumaczy wywołania metod jego interfejsu na wywołania oryginalnego (docelowego) interfejsu.

Trochę mało życiowy przykład:
namespace AdapterExample
{
    public interface IOpenable
    {
        void Open();
    }

    // Słoik nie implementuje interfejsu IOpenable
    // Adaptee
    public class Jar
    {
        public void TwistOff()
        {
            Console.WriteLine("Jar::TwistOff()");
        }
    }

    // Adapter do słoika
    public class JarAdapter : IOpenable
    {
        private Jar _Jar;
        public JarAdapter()
        {
            _Jar = new Jar();
        }

        public void Open()
        {
            _Jar.TwistOff();
        }
    }

    class Program
    {
        static void Main(string[] args)
        {
            IOpenable JarOpen = new JarAdapter();
            JarOpen.Open();
        }
    }
}
Comments are closed

Powered by BlogEngine.NET 1.5.0.7
Theme by Mads Kristensen