Шаблоны проектирования, используемые в платформе .NET?
Один из способов улучшить понимание шаблонов проектирования - выяснить, как шаблоны используются в платформе .NET.
Были ли вы найдены примеры шаблонов проектирования в платформе .NET? В своем ответе дайте краткое описание шаблона и пример того, как он используется в рамках.
Пример ответа:
Шаблон разработки стратегии отделяет алгоритм от класса, который использует его, инкапсулируя алгоритм в отдельный класс. Это позволяет переключать алгоритмы.
Метод сортировки класса List является примером шаблона стратегии.
public void Sort(IComparer<T> comparer)
Приняв интерфейс IComparer, пользователи класса могут переключать алгоритм сортировки во время выполнения.
Ответы
Ответ 1
Decorator Pattern используется в классах Stream:
- System.IO.Stream
- System.IO.BufferedStream
- System.IO.FileStream
- System.IO.MemoryStream
- System.Net.Sockets.NetworkStream
- System.Security.Cryptography.CryptoStream
Подклассы украшают Stream, потому что они наследуют его, а также содержат экземпляр Stream, который настроен в конструкторе.
Ответ 2
Очевидным является шаблон итератора. используя класс IEnumerator в рамках:
Итераторы в .NET Framework называемых "счетчиками" и представленных с помощью интерфейса IEnumerator. IEnumerator предоставляет MoveNext() метод, который продвигается к следующему и указывает, будет ли конец коллекции было достигнуто; Текущее свойство, чтобы получить значение элемента, находящегося в данный момент в; и необязательный метод Reset(), чтобы перемотайте перечислитель обратно в его исходное положение. Перечислитель первоначально указывает на особое значение перед первым элементом, поэтому вызов MoveNext() требуется для начала итерация.
Ответ 3
Это искусство кажется хорошим:
http://msdn.microsoft.com/en-us/magazine/cc188707.aspx#S5
Ответ 4
Здесь представлена хорошая статья всех шаблонов проектирования, которые используются в инфраструктуре .net:
http://dotnetacademy.blogspot.com/2011/10/design-patterns-which-are-used-in-net.html
Ответ 5
Events
в .Net Framework следуйте за Observer Pattern
Ответ 6
- ADO.Net - это абстрактная Factory, чтобы избавиться от деталей подключения к источникам данных.
- События представляют собой реализацию шаблона Observer
- .Net-итераторы - это реализация шаблона Iterator
Ответ 7
Шаблон адаптера в DataAdapter используется с различными источниками данных, такими как OleDB, Sql и Oracle.