2012-07-02 3 views
1

Как вы думаете, какие наилучшие именованные контуры для ActionMethodSelector отличаются от ActionFilter (Атрибуты).ASP.NET MVC: Соглашения об именах ActionMethodSelector/ActionFilter (Attribute)

Мне нужен ActionMethodSelector, который делает то же самое, что и AuthorizeAttribute-ActionFilter, но как бы вы назвали ActionMethodSelectorAttribue? (Реализация не является проблемой)

+0

Почему бы не просто добавить «фильтр» в качестве суффикса для ваших фильтров, и «Атрибут» на ваших атрибутов? – Kane

ответ

0

Что вы думаете, является лучшим convensions именовании ActionMethodSelector дифференцировать от ActionFilter (Attributes).

Суффикс:

  • XXXActionMethodSelector
  • XXXAttribute или XXXActionFilterAttribute

где XXX, очевидно, функция этих классов должны выполнить.

+0

Спасибо за ответ. Это решение я уже думал, но суффикс очень длинный, выглядит некрасиво. В самой структуре MVC они не используют суффиксы, поэтому мне было интересно, как они определяют имя этих атрибутов. Но нет решения без суффикса, чтобы различать два аспекта, не анализируя атрибуты. (что логично) – rafe

0
XXXXSelectionAttribute 

VS

XXXXFilterAttribute 

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

ИМХО.

+0

Спасибо за ответ. Я знаю, что это неважно, но мне очень нравится чистый код :) Но, например, как бы вы назвали Authorize-ActionMethodSelectorAttribute? Я часто вижу префикс/суффикс «Обязательный», «Только», «Разрешить», «Принять» для ActionMethodSelectorAttribute. Возможно, «RequiredAuthorization» будет хорошим именем. – rafe

+0

@ben Лично я бы сохранил их очень подробно и не присоединился к атрибуту Authorize и ActionMethodSelectorAttribute. Но если это так, я бы присоединился к конкретным словам, таким как XXXXAuthorizeSelectionAttribute, который указывает как авторизацию, так и возможность выбора.Определите упорядочение, которое вам нравится, так что все согласовано (авторизуйтесь перед отбором или наоборот). –

0

Если вы сомневаетесь в соблюдении правил, если вы посмотрите на некоторые из их реализаций, вы увидите, что в обоих случаях они просто используют суффикс Attribute.

AcceptVerbsAttribute : ActionMethodSelectorAttribute 

т.д.

и

OutputCacheAttribute : ActionFilterAttribute 

т.д.

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

Если вы не хотите, конечно: D