SASGIS

Веб-картография и навигация

Вопросы по исходному коду

Форум для обсуждения деталей разработки программы SAS.Планета

Модераторы: vdemidov, Tolik

Re: Вопросы по исходному коду.

Сообщение vdemidov » 13 июл 2012, 16:34

EVGENRUS писал(а):2. Получается, что вы пришли к интерфесам уже на каком-то этапе разработки?

Да. Когда я начал заниматься проектом, тогда и начали появляться интерфейсы :)
EVGENRUS писал(а):3. Т.е. сторонняя dll (плагин) может реализовать интерфейс по своему? как тогда она перекроет родную реализацию?

Перекрыть нет, но если она должна вернуть IGeocodeResult ей совсем не обязательно использовать те же модули, что и в основной программе. Более того. Dll может быть написана на другом языке программирования, например на С или С++.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Re: Вопросы по исходному коду.

Сообщение vdemidov » 13 июл 2012, 17:13

EVGENRUS писал(а):Ага, теперь ясно. Спасибо.

Обращайтесь, а еще лучше подключайтесь к разработке. Берите любую задачу из запланированных на более далекие релизы и пытайтесь реализовать, не стесняйтесь спрашивать.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Re: Вопросы по исходному коду.

Сообщение EVGENRUS » 13 июл 2012, 17:21

vdemidov писал(а):
EVGENRUS писал(а):Ага, теперь ясно. Спасибо.

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


Пока я дошел до того, чтобы каждый день (уже в течении 2-х месяцев) обновлять локальный репозитарий и просматривать изменения. :)
Проект большой и трудно влиться, потому что всей картины/диаграммы взаимодействия классов не представляешь. Вот и думаешь - "тут изменю, не вылезет ли это в другом месте" или "правильно ли менять код здесь" ну и т.п. Понятно, что ООП подход инкапсулирует реализацию в одном месте, но все же...
EVGENRUS
Новичок
 
Сообщения: 13
Зарегистрирован: 27 апр 2012, 10:07
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Вопросы по исходному коду.

Сообщение zed » 13 июл 2012, 17:26

vdemidov писал(а):Dll может быть написана на другом языке программирования, например на С или С++.

На Си же не получится - язык должен поддерживать такое понятие как интерфейс?
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Re: Вопросы по исходному коду.

Сообщение vdemidov » 13 июл 2012, 17:34

zed писал(а):На Си же не получится - язык должен поддерживать такое понятие как интерфейс?

Ты не поверишь, но получиться. Сложно, через задницу, но получиться :) Интерфейсы, это по сути структуры с указателями на функции. То есть если правильно описать все элементы, а потом правильно их вызывать, то заработает. Я сам, честно говоря, такого извращения никогда не писал, но читал что можно сделать :)
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Re: Вопросы по исходному коду.

Сообщение vdemidov » 13 июл 2012, 21:18

EVGENRUS писал(а):Вот и думаешь - "тут изменю, не вылезет ли это в другом месте" или "правильно ли менять код здесь" ну и т.п. Понятно, что ООП подход инкапсулирует реализацию в одном месте, но все же...

А вы в первую очередь делайте то что не требует изменения в интерфейсах. Например очень много работы с визуализацией настроек пользователя которые есть ini-файле, но недоступны для изменения через GUI. Некоторые хотелки по экспорту требуют только изменения фрейма с настройками экспорта (например склейка с изменением проекции полностью готова в бэк-энде, но нужно сделать возможность пользователю выбирать). Можно делать отдельные модули, как делает Garl с геокодерами. И еще раз повторяю, не стесняйтесь спрашивать. Я всегда подскажу и посоветую.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Re: Вопросы по исходному коду.

Сообщение garl » 13 июл 2012, 23:07

Я кстати тоже сперва боялся.
До этого уже лет 5 за Delphi не садился, да и когда садился - баловство это всё было .

Опять же из задач : тожет есть мелкие неудобства которыем мешают лично Вам и их можно решить своими силами, или улучшить не глубоко ковыряя код - надо однозначно пробовать, а там будет видно.
Russian NDN Team
QIP NightlyTester
Аватара пользователя
garl
Гуру
 
Сообщения: 1625
Зарегистрирован: 16 июл 2008, 14:40
Откуда: Краснодар, Кубанская столица.
Благодарил (а): 97 раз.
Поблагодарили: 273 раз.

Re: Вопросы по исходному коду.

Сообщение kellwin » 16 июл 2012, 17:31

Хотел бы сделать свой вариант стандартного файлового кэша, с целью уменьшить количество файлов, не переходя на базу данных.
Попытался разобраться, но количество интерфейсов, отвечающих за кэш, как то разрослось.
Какие модули нужно продублировать, чтобы подключить свой формат кэша?
Может быть есть какая то схема с описанием, что за что отвечает?
Достаточно ли скопировать u_TileStorageFileSystem.pas? Где добавить свою версию в перечень форматов?
Какие атрибуты файла должны храниться в кэше?
kellwin
Новичок
 
Сообщения: 5
Зарегистрирован: 28 янв 2010, 10:40
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: Вопросы по исходному коду.

Сообщение vdemidov » 16 июл 2012, 18:17

Советую попробовать что то более простое. Эта тема и для меня слишком сложная и будет полностью переделываться в ближайшее время. Так что это та область, где код я буду принимать очень критично и с большой вероятностью не приму, если он хоть чуть-чуть будет не соответствовать моим представлениям о правильности.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
vdemidov
Гуру
 
Сообщения: 1687
Зарегистрирован: 12 дек 2008, 13:10
Откуда: Киев
Благодарил (а): 191 раз.
Поблагодарили: 157 раз.

Re: Вопросы по исходному коду.

Сообщение zed » 16 июл 2012, 20:45

kellwin писал(а):Какие модули нужно продублировать, чтобы подключить свой формат кэша?

Вот этот коммит добавил новый тип кэша (Беркли). Можете посмотреть, где там в глобальном смысле нужно вносить изменения.

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

А по-подробнее можно? Каким образом там уменьшится количество тайлов?
zed
Гуру
 
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз.
Поблагодарили: 568 раз.

Пред.След.

Вернуться в Раздел для разработчиков программы SAS.Планета

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2