В теории говорится, что очень связные, слабо связанные реализации являются путем вперед.
, Таким образом, я предполагаю, Вы подвергаете сомнению тот подход, а именно, разделяя проблемы.
мой aspx.cs файл должен взаимодействовать с базой данных, называя sproc, и понимая IDataReader?
В среде команды, особенно где у Вас есть меньше технических людей, имеющих дело с aspx частью приложения, мне не нужны эти люди способность "коснуться" этого материала.
Разделение моего домена от моей базы данных защищает меня от структурных изменений в базе данных, конечно, хорошая вещь? Верная эффективность базы данных абсолютно важна, таким образом позвольте кому-то, кто является самым превосходным в том соглашении о материале с тем материалом, в одном месте, с как можно меньшим влиянием на остальную часть системы.
, Если я не неправильно понимаю Ваш подход, одно структурное изменение в базе данных могло иметь большую зону поражения с поверхностью Вашего приложения. Я вижу, что это разделение проблем позволяет мне и моей команде минимизировать это. Также любой новый член команды должен понять этот подход лучше.
кроме того, Ваш подход, кажется, защищает бизнес-логику Вашего приложения для нахождения в базе данных? Это чувствует себя неправильным мне, SQL действительно хорош в запросах данных, и не, по моему скромному мнению, выражая бизнес-логику.
Интересная мысль, хотя, хотя это чувствует один шаг далеко от SQL в aspx, который с моих плохих старых неструктурированных дней asp, заполняет меня страхом.
Джон Роббинс написал об этом в своей статье Влияют ли файлы PDB на производительность? . Простой ответ - нет (если вы компилируете свою сборку выпуска с переключателями / optimize + и / debug):
Это может быть верно в других операционных системах, но не в Windows. Если вы так думаете, то почему Microsoft создает каждый продукт, который они поставляют, с файлами PDB, включенными как для отладочной, так и для выпускной сборки? Они написали компилятор, они написали компоновщик, и они написали операционную систему, поэтому они точно знают, каковы эффекты. У Microsoft больше людей, ориентированных на производительность, чем у любой другой компании-разработчика программного обеспечения в мире. Если бы вообще было какое-то влияние на производительность, они бы этого не сделали. Период. Производительность - не единственное, что делает Microsoft, это все.
Дополнительно:
При построении / optimize + и переключателе / debug появляется DebuggingMode. IgnoreSequencePoints передается в DebuggableAttribute, чтобы сообщить JIT-компилятору, что ему не нужно загружать файл PDB для правильного JIT-кода IL.
У него также есть другая статья, озаглавленная Файлы PDB: что должен знать каждый разработчик , которую тоже стоит прочитать.
Не всегда. PDB и оптимизации ортогональны. Один можно включить независимо от значения другого параметра. Однако это может снизить производительность, если вы действительно хотите использовать информацию, содержащуюся в PDB, например, когда вы обращаетесь к StackTrace
исключения и ему необходимо получить номера строк из PDB или когда вы вызываете новый StackTrace (true)
.
Между прочим, у Эрика Липперта есть соответствующая запись в блоге об оптимизации компилятора .