logo
logo
Про "нетривиальность в реализации" [де Багер 15/08/2002 19:16]
Вот она - плата за принципиальность.
В порядке обсуждения :
1. вариант первый - даём серии индекс (меняем формат базы), и храним КАЖДУЮ операцию (логика в том, что они все равнозначные, а отложенные или серийные, может даже сверхобязательные и т.д. неважно. Они все ОПЕРАЦИИ)
2. При генерации ОТОБРАЖЕНИЯ пишем в объект (трудно говорить куда, не зная реализации) некоторую бульку. И уже по ней генерируем мессадж - типа "НЕЛЬЗЯ МЕНЯТЬ" (всё равно изменения не сохранятся - негде!!!). Правда это грабли функциональности, и следом будет вопрос - ПОЧЕМУ?
3. Если делать как Вы пишете - т.е. при сушествуюшем порядке давать возможность менять след. запись - то мы придём к пункту №1 - ежеоперационное хранение.
 
Конечно Вам решать, но пока хотелось бы видеть хотя-бы отображение ВСЕХ операций в соответствии с фильтром. А дальше будем поглядеть.
 
Заранее спасибо. Ждёмссс....
 
Dervish: Вы серьёзно считаете, что беспринципность, это хорошо? Впрочем, вопрос риторический, я предлагаю прекратить обсуждение общефилософских тем.
 
Только при хранении всей серии в виде одной единственной записи можно будет вводить в базу "бесконечные" серии, то есть те, которые будут генерироваться всегда по мере выполнения предыдущих. Так что, хранить каждую операцию (из серии) отдельно считаю невозможным.
 
Кажется, у меня появилась некоторая идея, можно реализовать всё то, о чём вы говорите. А идея такова: пусть в базе хранится одна строчка, а показываются, действительно все экземпляры операции, которые будут сгенерированы в серии. И всякий раз, если пользователь попробует изменить какую-то операцию из серии, ему просто будет выдаваться вопрос: "Изменить всю серию или только эту операцию?". Если он отвечает, что всю, тогда изменяется единственная строчка в базе. Если же он отвечает, что только эту, то Cash "развернёт" серию в последовательность обычных (невыполненных) операций, а остаток серии останется одной строчкой.
 
Годится?