Хо-хо!
Третий день занят разработкой некоей магической штуки, которая должна мне помочь разруливать конфликты паралельного и последовательного доступа ко всяким там методам китайского чудо-класса, при том инициация доступа будет делом рук юзера. А с юзером, если у него есть кнопка, шутки плохи.
Задача.
Есть DataSet, местами даже типизированный, агрегированный в некий класс, методы которого его собственно и заполняют. Разные методы возвращают данные в общие таблицы, т.е., по простому, кого последнего вызвали, того и данные. Это все типа как DAL + Модель. Естественно, существует еще и View и Presenter. Обычный MVP. Разные контроллы представления используют общие таблицы, но отображают каждый свои данные. То есть, чтобы отобразить данные представления, необходимо вызвать сперва один метод DAL, сохранить данные в какую-то другую таблицу, связанную с контроллом А, потом вызвать тот же запрос, но с другими аргументами, сохранить новые данные куда-то еще, чтобы никто их не перезаписал позже и т.п.
Как бы ничего сложного?)
Теперь добавим условие, что запросы могут выполняться долго, или даже ДОЛГО. А представление не должно при этом висеть. То есть, каждый запрос в своем потоке. В общем, доставка данных асинхронная. Значит, нужны точки синхронизации данных, в которых данные будут привязываться к контроллам, а в переходном состоянии контроллы просто не реагируют на пользователя.
Все еще просто! Ха-ха-ха.
Добавилось теперь еще условие - некоторые переходные состояния могут прерываться для перехода в другое переходное состояние. Например, если долго грузятся данные по одним параметрам, юзер может ввести другие значения и вызвать другой запрос уже по ним. Кроме всего, нет возможности в чудо-классе прерывать ожидание данных, равно как и вызвать запрос, если он уже занят - надо ждать его завершения. При этом, разумеется, о состоянии запроса тоже ничего наружу не сообщается, т.е. для каждого вызванного метода надо помнить его состояние вплоть до освобождения. Ну, в нагрузку, многие переходы требуют выполнения нескольких запросов паралелльно, а еще, при инициализации вследствие последовательного использования объектов-таблиц, требуется выполнить несколько "многозапросных" переходов. При этом, инициализация может быть повторно вызвана пользователем. В любое время.
Задача, на самом деле, простая. Только ее надо выполнить раз эдак 50, причем на разных схемах DataSet для разных представлений со своими переходами и состояниями. Да ,еще, все классы генерятся по шаблону, а в китайской чуде ничего менять нельзя.
О решении дальше...
Вам это будет интересно!
Последние новости
Бхастрика
Техника бхастрики имеет много общего с капалабхати, но существуют и значительные различия между этими упражнениями. Йоги часто расценивают капалабхати как облегченную разновидность бхастрики, что позволяет использовать последнюю для освоения более сложного этапа очистительной дыхательной гимнастики. Для выполнения бхастрики наибо...Читать далее »
Дхарана и дхьяна, или концентрация и медитация
Дхарана и дхьяна – шестая и седьмая ступени системы Патанджали. Наряду с пратьяхарой и самадхи они составляют раджа-йогу. Чем отличается концентрация от медитации? При концентрации включается только разум; при медитации – сердце и все существо в целом. При концентрации разум фиксируется на каком-то определенном предмете. Меди...Читать далее »
Йога пальцев
В руках расположены удивительные энергетические каналы, связанные с целой функциональной системой и носящие название органа, на который они замыкаются. Положение рук – мудра, строго определено каноном и имеет тайный символический смысл. Знатоки мудры насчитывают сотни различных значений в комбинациях и фигурах, изображаемых пальцами. Йо...Читать далее »
Массаж глаз
Его выполняют, когда чувствуют, что глаза устали во время какой-либо работы (чтение, шитье). Это упражнение может входить в комплекс, но может быть и самостоятельным. 1. Через ноздри делают спокойный и полный вдох. Приближают ладони к глазам так, чтобы получился угол, равный 45°. 2. Через нос делают выдох. В этот момент начинают мас...Читать далее »
Заключение
Секрет йоги заключается в том, что она взаимодействует с человеком в целом, а не с какой-то одной сферой его физиологической и духовной жизни. Она сопряжена с физическим, умственным, нравственным и духовным развитием индивида. Она укрепляет силы, уже существующие внутри нас. Начиная с улучшения здоровья, благоприобретенного отличного физического состояния, она шаг за шагом охватывает ментальну...Читать далее »
Наули
Данное упражнение йоги называют устранением прямых мышц живота. Действие наули не имеет ничего общего с уддияной бандхой, хотя отдельные элементы выполнения обоих упражнений совпадают. Исходное положение для наули то же самое, что и для уддияны бандхи. Сначала нужно вдохнуть максимально полно, а затем выполнить уддияну баядху. После этого прямые мышцы живота напрягаются, а живот выпячиваетс...Читать далее »
Процедура полоскания горла
Необходимо также заботиться о здоровье горла. Миндалины, расположенные в горле, – часть иммунной системы. Они представляют собой барьер, защищающий организм от болезнетворных микробов, проникающих извне. Процедуры вамана-дхаоти и джаля-нети весьма благотворно влияют на состояние горла. Для борьбы с заболеваниями горла есть комплекс упражнений. Гигиеническое полоскание горла солонова...Читать далее »
