• Главная
  • Карта сайта
Не найдено

Адаптер на C #

  1. Особливості патерну на C #
  2. концептуальний приклад
  3. Program.cs: Приклад структури паттерна
  4. Output.txt: Результат виконання
  5. Адаптер на інших мовах програмування

Адаптер - це структурний патерн, який дозволяє подружити несумісні об'єкти.

Адаптер виступає прошарком між двома об'єктами, перетворюючи виклики одного в виклики зрозумілі іншому.

Особливості патерну на C #

складність:

Популярність:

Застосування: патерн можна часто зустріти в C # -код, особливо там, де потрібна конвертація різних типів даних або спільна робота класів з різними інтерфейсами.

Ознаки застосування патерну: Адаптер отримує конвертований об'єкт в конструкторі або через параметри своїх методів. Методи Адаптера зазвичай сумісні з інтерфейсом одного об'єкта. Вони делегують виклики вкладеному об'єкту, перетворивши перед цим параметри виклику в формат, підтримуваний вкладеним об'єктом.

концептуальний приклад

Цей приклад показує структуру паттерна Адаптер, а саме - з яких класів він складається, які ролі ці класи виконують і як вони взаємодіють один з одним.

Program.cs: Приклад структури паттерна

using System; namespace RefactoringGuru.DesignPatterns.Adapter.Conceptual {// Цільовий клас оголошує інтерфейс, з яким може працювати клієнтський // код. public interface ITarget {string GetRequest (); } // адаптованості клас містить деякий корисну поведінку, але його // інтерфейс несумісний з існуючим клієнтським кодом. Адаптується // клас потребує деякої доробки, перш ніж клієнтський код зможе // його використовувати. class Adaptee {public string GetSpecificRequest () {return "Specific request."; }} // Адаптер робить інтерфейс адаптованості класу сумісним з цільовим // інтерфейсом. class Adapter: ITarget {private readonly Adaptee _adaptee; public Adapter (Adaptee adaptee) {this._adaptee = adaptee; } Public string GetRequest () {return $ "This is '{this._adaptee.GetSpecificRequest ()}'"; }} Class Program {static void Main (string [] args) {Adaptee adaptee = new Adaptee (); ITarget target = new Adapter (adaptee); Console.WriteLine ( "Adaptee interface is incompatible with the client."); Console.WriteLine ( "But with adapter client can call it's method."); Console.WriteLine (target.GetRequest ()); }}}

Output.txt: Результат виконання

Adaptee interface is incompatible with the client. But with adapter client can call it's method. This is 'Specific request.'

Адаптер на інших мовах програмування

Адаптер на інших мовах програмування

Провайдеры:
  • 08.09.2015

    Batyevka.NET предоставляет услуги доступа к сети Интернет на территории Соломенского района г. Киева.Наша миссия —... 
    Читать полностью

  • 08.09.2015
    IPNET

    Компания IPNET — это крупнейший оператор и технологический лидер на рынке телекоммуникаций Киева. Мы предоставляем... 
    Читать полностью

  • 08.09.2015
    Boryspil.Net

    Интернет-провайдер «Boryspil.net» начал свою работу в 2008 году и на данный момент является одним из крупнейших поставщиков... 
    Читать полностью

  • 08.09.2015
    4OKNET

    Наша компания работает в сфере телекоммуникационных услуг, а именно — предоставлении доступа в сеть интернет.Уже... 
    Читать полностью

  • 08.09.2015
    Телегруп

    ДП «Телегруп-Украина» – IT-компания с 15-летним опытом работы на рынке телекоммуникационных услуг, а также официальный... 
    Читать полностью

  • 08.09.2015
    Софтлинк

    Высокая скоростьМы являемся участником Украинского центра обмена трафиком (UA — IX) с включением 10 Гбит / сек... 
    Читать полностью