Веб-приложение ASP.NET MVC против веб-приложения ASP.NET

size_t является неподписанным типом. Таким образом, он не может представлять никаких отрицательных значений (& lt; 0). Вы используете его, когда считаете что-то, и уверены, что он не может быть отрицательным. Например, strlen() возвращает size_t, поскольку длина строки должна быть не менее 0.

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

Когда вы используете объект size_t, вы должны убедиться, что во всех контекстах это используется, включая арифметику, вы хотите неотрицательные значения. Например, предположим, что у вас есть:

size_t s1 = strlen(str1);
size_t s2 = strlen(str2);

, и вы хотите найти разницу в длинах str2 и str1. Вы не можете делать:

int diff = s2 - s1; /* bad */

Это связано с тем, что значение, назначенное diff, всегда будет положительным числом, даже когда s2 < s1, потому что вычисление выполняется с неподписанными типами. В этом случае, в зависимости от вашего варианта использования, вам может быть лучше использовать int (или long long) для s1 и s2.

В C / POSIX, который мог / должен использовать size_t, но не из-за исторических причин. Например, второй параметр fgets в идеале должен быть size_t, но есть int.

15
задан Matthew Groves 16 July 2009 в 15:24
поделиться

2 ответа

Этот недавний вопрос может обратиться к Вашим проблемам: Как шаблон MVC отличается, если вообще, от DAL / шаблон разработки BLL?

4
ответ дан 1 December 2019 в 05:12
поделиться

Требуется немного больше опыта, дисциплины и работы для разработки веб-приложения MVP ASP.NET так, чтобы автоматизация тестирования поддержки приложений. Когда можно хлопнуть усовершенствованный GridView на страницу наряду с SqlDataSource и связать его непосредственно с хранимой процедурой, Вы бросаете свою автоматизацию тестирования из окна.

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

Зато я могу записать веб-приложение ASP.NET с богатым UI с помощью стороннего инструментария в 10-е из времени, в котором я могу с MVC, он - текущее состояние. Для простого административного средства это точно, что я сделал бы сегодня. Для крупного масштаба n-tier приложение я склонился бы к MVC.

3
ответ дан 1 December 2019 в 05:12
поделиться
Другие вопросы по тегам:

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