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

О решении дальше...










Вам это будет интересно!

  • ДРЕВНЯЯ КИТАЙСКАЯ АРМИЯ?
  • Эпизод реальности
  • Эпизод первый - “ПОЕЗД”


  • Последние новости


    Бхастрика

    Техника бхастрики имеет много общего с капалабхати, но существуют и значительные различия между этими упражнениями. Йоги часто расценивают капалабхати как облегченную разновидность бхастрики, что позволяет использовать последнюю для освоения более сложного этапа очистительной дыхательной гимнастики. Для выполнения бхастрики наибо...
    Читать далее »

    Дхарана и дхьяна, или концентрация и медитация

    Дхарана и дхьяна – шестая и седьмая ступени системы Патанджали. Наряду с пратьяхарой и самадхи они составляют раджа-йогу. Чем отличается концентрация от медитации? При концентрации включается только разум; при медитации – сердце и все существо в целом. При концентрации разум фиксируется на каком-то определенном предмете. Меди...
    Читать далее »

    Йога пальцев

    В руках расположены удивительные энергетические каналы, связанные с целой функциональной системой и носящие название органа, на который они замыкаются. Положение рук – мудра, строго определено каноном и имеет тайный символический смысл. Знатоки мудры насчитывают сотни различных значений в комбинациях и фигурах, изображаемых пальцами. Йо...
    Читать далее »

    Массаж глаз

    Его выполняют, когда чувствуют, что глаза устали во время какой-либо работы (чтение, шитье). Это упражнение может входить в комплекс, но может быть и самостоятельным. 1. Через ноздри делают спокойный и полный вдох. Приближают ладони к глазам так, чтобы получился угол, равный 45°. 2. Через нос делают выдох. В этот момент начинают мас...
    Читать далее »

    Заключение

    Секрет йоги заключается в том, что она взаимодействует с человеком в целом, а не с какой-то одной сферой его физиологической и духовной жизни. Она сопряжена с физическим, умственным, нравственным и духовным развитием индивида. Она укрепляет силы, уже существующие внутри нас. Начиная с улучшения здоровья, благоприобретенного отличного физического состояния, она шаг за шагом охватывает ментальну...
    Читать далее »

    Наули

    Данное упражнение йоги называют устранением прямых мышц живота. Действие наули не имеет ничего общего с уддияной бандхой, хотя отдельные элементы выполнения обоих упражнений совпадают. Исходное положение для наули то же самое, что и для уддияны бандхи. Сначала нужно вдохнуть максимально полно, а затем выполнить уддияну баядху. После этого прямые мышцы живота напрягаются, а живот выпячиваетс...
    Читать далее »

    Процедура полоскания горла

    Необходимо также заботиться о здоровье горла. Миндалины, расположенные в горле, – часть иммунной системы. Они представляют собой барьер, защищающий организм от болезнетворных микробов, проникающих извне. Процедуры вамана-дхаоти и джаля-нети весьма благотворно влияют на состояние горла. Для борьбы с заболеваниями горла есть комплекс упражнений. Гигиеническое полоскание горла солонова...
    Читать далее »