ASP.NET: Динамическая нагрузка управляет по сравнению с Видимым = верный

  • Hashtable и ConcurrentHashMap не позволяют null ключи или null значения.

  • Collections.synchronizedMap(Map) синхронизируется весь операции (get, put, size, и т.д.).

  • ConcurrentHashMap поддержки полный параллелизм извлечений и корректируемый ожидаемый параллелизм для обновлений.

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

5
задан Alin Vasile 20 August 2009 в 04:58
поделиться

4 ответа

Я бы не стал делать это динамически, поскольку выигрыш не стоит сложности или предполагаемой экономии. Также, если вы установите visible = false , имейте в виду, что состояние просмотра все еще включено для ваших элементов управления. Если вас беспокоят данные взад и вперед и вы имеете дело с большим состоянием просмотра, убедитесь, что вы отключили состояние просмотра для всех элементов управления или для родительской панели, которая их содержит. У вас будут те же неудобства для поддержания их состояния при обратной передаче, что и при выполнении этого динамически.

Кроме того, делать это нединамически намного проще для следующего человека, работающего с кодом. Макет очевиден, и его легче визуализировать, чем пытаться выяснить, какой код, когда помещает, что где.

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

Наконец, легче не делать это динамически Так почему бы сначала не выбрать самый простой маршрут и не посмотреть, не проблема ли это. Если это действительно станет проблемой, доработайте ее там, где это необходимо.

3
ответ дан 14 December 2019 в 13:43
поделиться

.Visible = false - вполне разумный подход для этого. Не беспокойтесь о скорости этого метода, пока вы не докажете с помощью профилирования, что он необходим.

1
ответ дан 14 December 2019 в 13:43
поделиться

Что, если бы вы поместили элементы управления с разными ролями на разные панели и просто видимую / невидимую всю панель

1
ответ дан 14 December 2019 в 13:43
поделиться

Еще одно неудобство с динамическими элементами управления - это большой объем нестабильного кода, который вам нужно написать для их обработки, и головные боли при их отладке. Если у вас нет чрезвычайно сложных элементов управления, которые занимают много времени, или если вы действительно не обнаружили проблему с производительностью, я бы настоятельно рекомендовал невидимый метод (и регулярно это делает). Это принцип KISS в действии (не говоря уже о принципе «без предварительной оптимизации»).

1
ответ дан 14 December 2019 в 13:43
поделиться
Другие вопросы по тегам:

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