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

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

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

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

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

Сообщение vdemidov »

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

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

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

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

Сообщение vdemidov »

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

Обращайтесь, а еще лучше подключайтесь к разработке. Берите любую задачу из запланированных на более далекие релизы и пытайтесь реализовать, не стесняйтесь спрашивать.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
EVGENRUS
Новичок
Сообщения: 13
Зарегистрирован: 27 апр 2012, 10:07

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

Сообщение EVGENRUS »

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

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


Пока я дошел до того, чтобы каждый день (уже в течении 2-х месяцев) обновлять локальный репозитарий и просматривать изменения. :)
Проект большой и трудно влиться, потому что всей картины/диаграммы взаимодействия классов не представляешь. Вот и думаешь - "тут изменю, не вылезет ли это в другом месте" или "правильно ли менять код здесь" ну и т.п. Понятно, что ООП подход инкапсулирует реализацию в одном месте, но все же...
zed
Гуру
Сообщения: 2888
Зарегистрирован: 16 авг 2008, 20:21
Благодарил (а): 89 раз
Поблагодарили: 568 раз

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

Сообщение zed »

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

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

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

Сообщение vdemidov »

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

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

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

Сообщение vdemidov »

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

А вы в первую очередь делайте то что не требует изменения в интерфейсах. Например очень много работы с визуализацией настроек пользователя которые есть ini-файле, но недоступны для изменения через GUI. Некоторые хотелки по экспорту требуют только изменения фрейма с настройками экспорта (например склейка с изменением проекции полностью готова в бэк-энде, но нужно сделать возможность пользователю выбирать). Можно делать отдельные модули, как делает Garl с геокодерами. И еще раз повторяю, не стесняйтесь спрашивать. Я всегда подскажу и посоветую.
Чтобы понять программу, вы должны стать одновременно и машиной, и программой.
Аватара пользователя
garl
Гуру
Сообщения: 1625
Зарегистрирован: 16 июл 2008, 14:40
Откуда: Краснодар, Кубанская столица.
Благодарил (а): 97 раз
Поблагодарили: 272 раза

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

Сообщение garl »

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

Опять же из задач : тожет есть мелкие неудобства которыем мешают лично Вам и их можно решить своими силами, или улучшить не глубоко ковыряя код - надо однозначно пробовать, а там будет видно.
Russian NDN Team
QIP NightlyTester
kellwin
Новичок
Сообщения: 5
Зарегистрирован: 28 янв 2010, 10:40

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

Сообщение kellwin »

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

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

Сообщение vdemidov »

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

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

Сообщение zed »

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

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

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

А по-подробнее можно? Каким образом там уменьшится количество тайлов?
Ответить

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