Какие имена Вы регулярно предварительно ожидаете/добавляете к классам? [закрытый]

То, когда объект, записанный в C#, создается, что происходит, - то, что инициализаторы работают в порядке от большей части производного класса до базового класса, и затем конструкторы, выполненные в порядке от базового класса до большей части производного класса (, видят блог Eric Lippert для деталей относительно того, почему это ).

Также в объектах.NET не изменяют тип, поскольку они создаются, но начинаются как большая часть производного типа с таблицей метода, являющейся для большей части производного типа. Это означает, что виртуальные вызовы метода всегда работают на большей части производного типа.

при объединении этих двух фактов Вас оставляют с проблемой, что при создании виртуального вызова метода в конструкторе, и это не большая часть производного типа в своей иерархии наследования, которой это назовут на классе, конструктор которого не был выполнен, и поэтому не может быть в подходящем состоянии для называния того метода.

Эта проблема, конечно, смягчена при маркировке класса, как изолировано, чтобы гарантировать, что это - большая часть производного типа в иерархии наследования - в этом случае совершенно безопасно назвать виртуальный метод.

49
задан 3 revs 28 July 2009 в 20:39
поделиться

13 ответов

Я часто использую Provider и Helper.

7
ответ дан 7 November 2019 в 11:49
поделиться

Я добавляю имя шаблона в конце, если следую за ним (например, FooRepository).
Попытка избежать -Helper, -Manager, -Utils.

7
ответ дан 7 November 2019 в 11:49
поделиться

Util

  • EnumUtil
  • ParseUtil
  • StringUtil
  • и т. Д.
5
ответ дан 7 November 2019 в 11:49
поделиться

База, Читатель, Писатель, Менеджер, Файл ... некоторые другие.

4
ответ дан 7 November 2019 в 11:49
поделиться

Если мой класс специально выполняет вычисления, я добавлю Calc

Примеры:

  • TaxCalc
  • TipCalc
  • DateCalc
2
ответ дан 7 November 2019 в 11:49
поделиться

Иногда я добавляю имя родительского класса, который я хочу унаследовать. Иногда это звучит странно, особенно с примером животных (DogAnimal, FishAnimal, ...), но это упрощает поиск подтипов в списке классов.

2
ответ дан 7 November 2019 в 11:49
поделиться
Factory

Также:

Provider
1
ответ дан 7 November 2019 в 11:49
поделиться
  • Factory
  • Helper
  • Использует
  • Job
  • Entity
1
ответ дан 7 November 2019 в 11:49
поделиться

Тесты для классов модульных тестов

1
ответ дан 7 November 2019 в 11:49
поделиться

Я часто использую:

  • Протокол (конкретный протокол реализация)
  • Менеджер (Класс, управляющий процессом)
  • Эмулятор (Эмуляция чего-то ...)
1
ответ дан 7 November 2019 в 11:49
поделиться

Иногда я использую

Target

Как в

  • UploadTarget
  • ProcessingTarget

Я не думаю, что раньше Silverlight / WPF, но теперь я также использую

Converter

Как в:

  • CurrentTimeDisplayConverter
  • TimeDeltaConverter
1
ответ дан 7 November 2019 в 11:49
поделиться

почему, конечно ...

База

работает в обе стороны.

; -)

0
ответ дан 7 November 2019 в 11:49
поделиться

Контроллер и View .

0
ответ дан 7 November 2019 в 11:49
поделиться
Другие вопросы по тегам:

Похожие вопросы: