Положить весь контент страницы в пользовательский веб-элемент управления - это хорошая практика? - PullRequest
2 голосов
/ 31 августа 2011

В моей компании во всех существующих проектах они помещают содержимое страницы и элементы управления в пользовательский элемент управления (Asp.NET), а затем помещают пользовательский элемент управления на страницу.

Могут ли быть какие-либо веские причины, кроме того, что пользовательские элементы управления могут использоваться на других страницах? Они также достигают некоторых свойств и методов пользовательских элементов управления с реальной страницы.

  • Управление
    • Login.ascx
  • Login.aspx

Спасибо.

Ответы [ 2 ]

2 голосов
/ 31 августа 2011

Я видел эту технику вместо главных страниц для систем, встроенных в 1.1 (до главных страниц), но в целом я не думаю, что это очень разумный дизайн.Похоже, что это сделает систему более замысловатой, чем нужно, и стимулов для ее оправдания почти нет.

Еще одна проблема, связанная с такой конструкцией, заключается в том, что она затрудняет использование пользовательских элементов управления в традиционныхсмысл, потому что вы не можете вкладывать элементы управления одной и той же сборки друг в друга, по крайней мере, когда пользовательские элементы управления зарегистрированы в web.config.Любые вложенные потоки должны создаваться программно в коде или регистрироваться в директиве каждой страницы, которая использует элемент управления, что создает больше избыточности и больше сложностей.

Большой вопрос - почему?Что вы действительно получаете от этого подхода?

  • Является ли дизайн более гибким?
  • Является ли система быстрее?
  • Легче ли понять дизайн?
  • Легче ли поддерживать дизайн?
  • Требуется ли меньше кода?

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

Надеюсь, это поможет.Просто мои два цента.

1 голос
/ 31 августа 2011

Да, существует переворот, когда страница с несколькими пользовательскими элементами управления имеет логику для каждого элемента управления в отдельном файле, а не все загромождено в одном коде позади файла, например. представьте код внутри нескольких элементов управления, собранных вместе в одном файле. Если вы еще не видели спагетти-код, который является перегруженным кодом, делающим слишком много в одном файле, будьте благодарны. Я видел их много.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...