В чем разница между фрагментом и шаблоном? - PullRequest
4 голосов
/ 24 августа 2011

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

Один лучше по производительности или тому подобное, или они совершенно разные, и я что-то неправильно понимаю?

1 Ответ

7 голосов
/ 24 августа 2011

Фрагменты обычно ссылаются на код фрагментов, которые вы видите в раскрывающемся списке значений (или Right click > Insert Snippet, таких как SurroundsWith, forEach и т. Д.).Они обычно занимают несколько строк и используются для предоставления ярлыка для часто используемых шаблонов кода.

Шаблоны ссылаются на Шаблоны элементов / проектов , которые могут содержать код, а также другие вещи, такие как файловая структура проекта.и больше).Думайте об этом как о лесах для файла кода или проекта.

Например, шаблоны проектов WebSite создают леса для типичного веб-сайта, добавляя такие файлы, как default.aspx и папки (App_Code и т. Д.), Когда вы выбираетесоздать новый проект веб-сайта.

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

Сравнение производительности здесь не имеет значения, так как каждый из них является разовым.Вы выбираете один из них в зависимости от того, что вы хотите с ним сделать.

...