Сложная проблема ООП, которую я так и не понял

Допустим, у меня есть два .cpp файла: oranges.cpp и basket.cpp . У них есть классы оранжевый и корзина соответственно. Моя основная программа генерирует множество корзин , которые, в свою очередь, генерируют множество апельсинов . Таким образом, в main будет много объектов из Baskets ; и корзины будут содержать много объектов Апельсинов . Если у меня есть функция в оранжевом , которая должна знать цвет моей корзины, как я могу найти цвет корзины?

orangle. я сделал несколько неудачных дизайнерских решений, которые снова и снова преследуют меня по мере того, как проект становится все больше и больше с точки зрения ...

Хорошо, я некоторое время работаю над проектом ASP.NET, и мне кажется, Я сделал несколько неудачных дизайнерских решений, которые снова и снова преследуют меня по мере того, как проект становится все больше и больше с точки зрения содержащихся данных.

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

Итак, у меня есть (довольно дорогой запрос), который дает от 1 до 20000 результатов. При последующих запросах мы можем просто листать набор результатов, поэтому я сохраняю этот результат в сеансе. Сессия - InProc. Мне интересно:

  • Имеет ли смысл а) хранить результат б) в сеансе в) в процессе? Я хочу скорость (а). Я не знаю, есть ли более эффективный способ, чем сохранить его пользователем (b), и если я использую более сложный сервер состояний - не станет ли он медленнее (c)? Или это могло бы быть решением, избавляясь от этих больших объектов быстрее вместо того, чтобы хранить последний набор результатов в ОЗУ до истечения сеанса?

  • Если какой-либо набор результатов> ~ 20000 строк потенциально приводит к нарушению LOH, существует ли общий способ обойти это?

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

6
задан Nicolas78 19 May 2011 в 14:10
поделиться