Подтвердить что ты не робот

Каковы собственные встроенные шаблоны проектирования С#?

Какие шаблоны проектирования встроены, поддерживаемые версией С# независимо от версии? Я думаю о шаблонах, таких как шаблон Observer, которые можно найти в интерфейсе IObservable. ObservableCollection, INotifyPropertyChanged и т.д.

Просьба предоставить в ваших ответах пространство имен шаблона!

4b9b3361

Ответ 2

Итератор один (все классы коллекции и массивы могут использовать оператор foreach для итерации).

Другим является шаблон наблюдателя - в значительной степени это то, что происходит. В 4.0 добавлены IObservable и ObservableCollection.

Ответ 4

Шаблоны создания

Аннотация Factory

  • System.Data.Common.DbProviderFactory

Builder

  • System.Text.StringBuilder
  • System.Data.Common.DbConnectionStringBuilder

Factory Метод

  • System.Activator
  • System.Net.WebRequest

Прототип

  • System.ICloneable

Синглтон

  • System.StringComparer.InvariantCulture
  • System.StringComparer.InvariantCultureIgnoreCase

Структурные шаблоны

Адаптер

  • System.IO.StreamReader

Мост

  • System.Globalization.CultureInfo

Композитный

  • System.ComponentModel.IComponent

декоратор

  • System.IO.Stream

Фасад

  • System.Environment
  • System.String

Наименьший вес

  • System.StringComparer

Прокси

  • System.Net.WebClient
  • System.Runtime.Remoting.Proxies.RealProxy
  • System.ServiceModel.ICommunicationObject

Поведенческие шаблоны

Цепочка ответственности

  • Microsoft.Practices.EnterpriseLibrary.Logging.Logger

Команда

  • System.Windows.RoutedEventArgs

Переводчик

  • System.IFormatProvider
  • System.Text.RegularExpressions.Regex

итератора

  • System.Collections.IEnumerable
  • System.Data.IDataReader

Посредник

  • System.Threading.Timer

мементо

  • System.Runtime.Serialization.ISerializable

наблюдатель

  • System.EventHandler
  • System.IObservable

Состояние

  • ??

Стратегия

  • System.Collections.Generic.IComparer

Метод шаблона

  • System.Web.UI.Page

Visitor

  • System.Linq.Expressions.ExpressionVisitor

Ответ 6

Шаблон наблюдателя. Все наши события и делегаты поднимаются через шаблон наблюдателя.

Factory. Строки подключения и провайдеры db из factory.

Итератор Pattern: Ienumerable, Ienumerators в наших инструкциях foreach

Адаптер: COM-связь. Runtime Callable Wrappers (RCW)

Шаблон: используется в нескольких местах esp в классах ASP.NET, где вы можете переопределить, чтобы обеспечить новую реализацию

Прокси: для всех наших вызовов веб-службы. в С# 3.0 мы также получили прокси-коллекции.

Там может быть много. Но это те, которые пришли мне на ум

Ответ 7

Шаблон делегирования (для чего предназначены делегаты и выражения)

Ответ 8

Часто используется прокси-шаблон.