Для более подробного знакомства читайте "Шаг 6 - Адаптер". Краткая идея в том, чтобы приспособить к использованию класс, который не имеет стандартного интерфейса. То есть он реализован без Ваших абстрактных классов, а очень хочется его использовать вместе со всеми, например, используя паттерн Строитель.
using System; abstract class Prototipe { abstract public void Open(); } class cADO:Prototipe { override public void Open() { Console.WriteLine("Open ADO"); } } class cDao { public void OpenTable() { Console.WriteLine("Open DAO"); } } class CDao:Prototipe { override public void Open() { cd.OpenTable(); } private cDao cd=new cDao(); } class MainClass { public static void Main(string[] args) { Console.WriteLine("Hello World!"); } }
Класс cDao у нас не имеет стандартного интерфейса в виде абстрактного класса Prototipe. Мы создали новый класс CDao на основе стандартного интерфейса и использовали класс cDao для непосредственной реализации функций.