(Этот вопрос был закрыт из-за переполнения стека из-за того, что он «слишком широкий» и «не настоящий вопрос», так что, может быть, он более уместен здесь?)
Вдохновлен этим вопросом . Мы знаем, что события - это реализация шаблона Observer на уровне языка. Существуют ли другие шаблоны проектирования, реализованные как языковые функции в C #? Я хочу оставить этот вопрос специфичным для C #, потому что существует множество шаблонов проектирования, реализованных на других языках, и я хочу, чтобы это было сфокусировано.
Я не ищу реализации шаблонов в BCL (например, декоратор во многих классах WCF или метод Factory в WebClient
), а шаблоны на уровне языка .
До сих пор я знаю о наблюдателе ( event
) и итераторе ( foreach
в сочетании со многими классами и интерфейсами BCL). Вероятно, есть и другие очевидные, которые мне не хватает.
источник
Методы расширения являются абстракцией шаблона Decorator.
источник