Переключение на Главную Страницу Страницы: 1 ... 3 4 [5] 6 7  ОтправитьПечать
Очень популярная тема (более 25 ответов) Набросок ТЗ по qt1L. Первые шаги. (число прочтений - 51207 )
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Набросок ТЗ по qt1L. Первые шаги.
Ответ #60 - 23. Января 2008 :: 05:43
Печать  
Nick писал(а) 23. Января 2008 :: 02:59:
Спрашивается зачем тянуть данные на клент если их потом писать на сервер?


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

А в общем случае клиентская часть должна отвечать только за прорисовку интерфейса пользователя на основе данных полученных при соединении с сервером (start session)


  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Набросок ТЗ по qt1L. Первые шаги.
Ответ #61 - 23. Января 2008 :: 05:47
Печать  
lustin писал(а) 23. Января 2008 :: 05:43:
Nick писал(а) 23. Января 2008 :: 02:59:
Спрашивается зачем тянуть данные на клент если их потом писать на сервер?


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

А в общем случае клиентская часть должна отвечать только за прорисовку интерфейса пользователя на основе данных полученных при соединении с сервером (start session)




При разработке метаданных в конфигураторе это вполне реализуемо
  
Наверх
ICQ  
IP записан
 
lustin
1c++ power user
Отсутствует


1C *.*, ROR, Java - на
этом остановимся

Сообщений: 907
Местоположение: Москва
Зарегистрирован: 20. Октября 2006
Пол: Мужской
Re: Набросок ТЗ по qt1L. Первые шаги.
Ответ #62 - 23. Января 2008 :: 05:47
Печать  
у нас сейчас тоже идет проработка "Yet Another Enterprise Application" версии 0.1

поэтому очень интересно чем кончится данная дискуссия  Улыбка
  

бизнес-процесс как техническое задание прекрасно, только у бизнеса нет процессов; у бизнеса есть желание выжить
Наверх
GTalkSkype/VoIPICQ  
IP записан
 
Kemet
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 46
Зарегистрирован: 03. Октября 2007
Re: Набросок ТЗ по qt1L. Первые шаги.
Ответ #63 - 24. Января 2008 :: 04:02
Печать  
trdm писал(а) 22. Января 2008 :: 13:49:
Я имею ввиду работу методов встроенных объектов, например Документ.Записать();
ты имел ввиду что метод "Записать" будешь реализовывать на встроенном-интерпретируемом языке?

Что, по твоему мнению, должен делать метод документа/справочника "Записать"? Почему это будет тормозить?
По моему вот, например, так:

Функция Записать()
   Попытка
     ИБ.НачатьТранзакцию();
     Шапка.Записать();
     Для каждого ТЧ из ТабличныеЧасти
     Цикл
        ТЧ.Записать();
     КонецЦикла;
     ИБ.ЗафиксироватьТранзакцию();
     Результат = Истина;
   Исключение
     Результат = Ложь;
     ИБ.ОтменитьТранзакцию();
     ...
   КонецПопытки;
   Возврат Результат;
КонецФункции;
=
Т.к. "Шапка", "ТабличнаяЧасть" - это, по сути, источники данных (DataSet'ы),то особых тормозов при записи наблюдаться не будет, т.к. "Записать" это вызов метода
"DataSet".ApplyUpdates();
  
Наверх
 
IP записан
 
Kemet
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 46
Зарегистрирован: 03. Октября 2007
Re: Набросок ТЗ по qt1L. Первые шаги.
Ответ #64 - 24. Января 2008 :: 04:26
Печать  
Nick писал(а) 22. Января 2008 :: 14:30:
Phoenix писал(а) 22. Января 2008 :: 14:11:
я не отрицаю, что это будет работать.
но в случае с 1С++ используется 1 шаг интерпретации. а если все базовые классы писать так и потом еще и выполнять их скрипты на этом же языке - думаю будет не оч.быстро.
не знаю как дела с этим у 2С. давно не видел этот проект, много лет.

Не понял какой один шаг? У меня все классы написаны на 1с методанных в понятии 1с там нет вообще

Имеется ввиду, что 1С++ объекты вызывают методы объектов реализованные непосредственно в машинном коде.
А если реализовывать объекты на встроенном языке, то алгоритм работы будет примерно таким:
1) Найти класс объекта в таблице классов
2) Найти метод по имени в таблице методов класса
3) Выполнить разбор параметров
4) Интерпретировать тело метода
5) Выполнить возврат
И всё это в режиме интерпретации.
Т.е. и получается двойная интерпретация:
Модуля документа и модуля класса
==
Теоретически это мало отличается от вызова процедуры/функции на встроенном языке, но в этом случае не осуществляется поиск класса, т.к. процедура/функция либо в текущем модуле, либо глобальная.
Затраты на поиск и разбор методов класса и будут "узким местом" такого решения.
  
Наверх
 
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Набросок ТЗ по qt1L. Первые шаги.
Ответ #65 - 24. Января 2008 :: 04:41
Печать  
Цитата:
1) Найти класс объекта в таблице классов
2) Найти метод по имени в таблице методов класса


Ну если все правильно сделано то это просто переход по индексу
  
Наверх
ICQ  
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Набросок ТЗ по qt1L. Первые шаги.
Ответ #66 - 24. Января 2008 :: 05:12
Печать  
Kemet писал(а) 24. Января 2008 :: 04:26:
4) Интерпретировать тело метода
5) Выполнить возврат
И всё это в режиме интерпретации.
...

Таки я не понял, а кэш скомпиленых в Байт-код модулей - отсутствует?
  
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Набросок ТЗ по qt1L. Первые шаги.
Ответ #67 - 24. Января 2008 :: 05:15
Печать  
dnp писал(а) 24. Января 2008 :: 05:12:
Kemet писал(а) 24. Января 2008 :: 04:26:
4) Интерпретировать тело метода
5) Выполнить возврат
И всё это в режиме интерпретации.
...

Таки я не понял, а кэш скомпиленых в Байт-код модулей - отсутствует?

Вот кстати да все про интерпритаторы да про интерпитаторы, есть же кэш! Улыбка
  
Наверх
ICQ  
IP записан
 
Kemet
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 46
Зарегистрирован: 03. Октября 2007
Re: Набросок ТЗ по qt1L. Первые шаги.
Ответ #68 - 24. Января 2008 :: 06:24
Печать  
dnp писал(а) 24. Января 2008 :: 05:12:
Таки я не понял, а кэш скомпиленых в Байт-код модулей - отсутствует?

А что, по твоему, есть интерпретация?
Компиляция производится ведь не  в машинный код, а в байт-код, котрый потом интерпретируется.
  
Наверх
 
IP записан
 
Kemet
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 46
Зарегистрирован: 03. Октября 2007
Re: Набросок ТЗ по qt1L. Первые шаги.
Ответ #69 - 24. Января 2008 :: 06:31
Печать  
Nick писал(а) 24. Января 2008 :: 05:15:
Вот кстати да все про интерпритаторы да про интерпитаторы, есть же кэш! Улыбка

Какой кэш? чего?
Поясню - под интерпретацией понимается эмуляция некой виртуальной машины.
Эмуляция бывает аппаратная и программная.
Нам доступна программная.
Если просто,
Байт-код представляет собой систему команд этой виртуальной машины (ВМ). ВМ производит выборку команд, анализирует их и транслирует в соответствующие вызовы.
  
Наверх
 
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Набросок ТЗ по qt1L. Первые шаги.
Ответ #70 - 24. Января 2008 :: 07:38
Печать  
Да знаем мы, знаем.
Просто интерпретация исходного встроенного языка - это одно. Там и поиск, и проверки, и составление таблицы имен.
А "интерпретация" байт-кода - достаточно тупое действие, быстрое и незатейливое. При разумной организации этого самого байт-кода, ессно.
Да и наши exe-шники - тоже в некоторых местах можно представить, как некий байт-код.
Я имею ввиду вызов всяких АПИ : Подготовили и заполнили структуру, вызвали функцию, вытащили нужные данные из трукруры, структуру уничтожили.
Просто мы этот АПИ-шный "байт-код" и АПИ-шную "ВиртуальнуюМашину" по умолчанию считаем быстрой и эффективной, а всё прочее - медленным и громоздким.
А почему, собственно?
  
Наверх
ICQ  
IP записан
 
Kemet
Junior Member
**
Отсутствует


I Love YaBB 2!

Сообщений: 46
Зарегистрирован: 03. Октября 2007
Re: Набросок ТЗ по qt1L. Первые шаги.
Ответ #71 - 24. Января 2008 :: 08:23
Печать  
потому что аппаратная реализация фаз декодирования, анализа и выполнения команды всяко быстрее программной.
  
Наверх
 
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Набросок ТЗ по qt1L. Первые шаги.
Ответ #72 - 24. Января 2008 :: 08:41
Печать  
Kemet писал(а) 24. Января 2008 :: 08:23:
потому что аппаратная реализация фаз декодирования, анализа и выполнения команды всяко быстрее программной.

Согласен.
Однако соотношение длительностей выполнения этих фаз, реализованных тремя разными способами :
ЧистаяИнтерпретация \ ИсполнениеБайтКода \ ИсполнениеПроцессорногоКода
будет, соответственно, такой (цифры условные) :
100 \ 10 \ 1
Так вот, речь идет о том, что отказавшись (отложив) вариант "1", мы не обязательно попадаем в "100", а можем получить "10".
И особо узкие места потом можно на "1" перевести, и "10" ни кто оптимизировать не мешает.
  
Наверх
ICQ  
IP записан
 
dnp
Senior Member
****
Отсутствует


.

Сообщений: 479
Зарегистрирован: 26. Мая 2006
Пол: Мужской
Re: Набросок ТЗ по qt1L. Первые шаги.
Ответ #73 - 24. Января 2008 :: 08:56
Печать  
Уважаемый trdm, а вот в теме "Набросок ТЗ по qt1L. Первые шаги"
чего для тебя больше, "Набросок ТЗ... Первые шаги"
или все-таки "по qt1L." ?

Просто если второе, то есть типа - опираясь на то, что уже есть, то хорошо бы знать, а что уже есть? Исходники смотреть или кто-то может рассказать?

А если первое - то ... Дайте ещё аргументов против "трёхзвенки 2С"  Очень довольный
  
Наверх
ICQ  
IP записан
 
Nick
God Member
*****
Отсутствует



Сообщений: 1599
Местоположение: г.Новокузнецк
Зарегистрирован: 21. Февраля 2007
Пол: Мужской
Re: Набросок ТЗ по qt1L. Первые шаги.
Ответ #74 - 24. Января 2008 :: 09:07
Печать  
dnp писал(а) 24. Января 2008 :: 08:56:
Уважаемый trdm, а вот в теме "Набросок ТЗ по qt1L. Первые шаги"
чего для тебя больше, "Набросок ТЗ... Первые шаги"
или все-таки "по qt1L." ?

Просто если второе, то есть типа - опираясь на то, что уже есть, то хорошо бы знать, а что уже есть? Исходники смотреть или кто-то может рассказать?

А если первое - то ... Дайте ещё аргументов против "трёхзвенки 2С"  Очень довольный


Ну рас так, тогда Уважаемый dnp может и ты раскажишь основные принципы этой "трёхзвенки 2С". Улыбка
Так сказать для наглядного сравнения
  
Наверх
ICQ  
IP записан
 
Переключение на Главную Страницу Страницы: 1 ... 3 4 [5] 6 7 
ОтправитьПечать