Модульность приложения

Ответить
aiai
Сообщения: 3
Зарегистрирован: 28 фев 2012, 11:21

Модульность приложения

Сообщение aiai » 28 фев 2012, 11:32

Опыт программиста подсказывает, что желательно выносить из активити универсальные функции, скажем, для работы с БД, в отдельный модуль (библиотеку), чтобы код был более прозрачным и модульным. Где-то я видел пример, возможно, в каком-то из местных уроков, но не могу найти.

Поделитесь, пожалуйста, опытом. В программировании под андроид и в самой java я пока новичок, поэтому буду благодарен за любые советы и особенно - за примеры. Каким образом вынести отдельные функции или классы в отдельный модуль и как их потом можно использовать?

aiai
Сообщения: 3
Зарегистрирован: 28 фев 2012, 11:21

Re: Модульность приложения

Сообщение aiai » 01 мар 2012, 09:43

Я понимаю, что вопрос нубский, но очень хотелось бы разобраться. Я вижу, что в разных примерах часто создают отдельный package core, в котором, насколько я понимаю, и хранят разные библиотеки, но в голове пока не очень укладывается логика организации таких модулей и взаимодействие между ними. За плечами у меня delphi, php и perl, здесь пока пробуксовываю. Может хоть ссылками поделитесь, на теорию правильной организации модульного проекта?

Аватара пользователя
damager82
Администратор
Сообщения: 1383
Зарегистрирован: 07 янв 2012, 11:32
Контактная информация:

Re: Модульность приложения

Сообщение damager82 » 01 мар 2012, 10:58

Самое простое решение - разделять классы логически. Обычно в работаете с некими логическими объектами. Если вы, например, пишите прогу "Адресная книга" то имеет смысл создать отдельный класс Contact, который будет соответствовать записи в книге.

Вообще тут трудно сформулировать какой-то свод правил. Раскидывание классов по пакетам приходит с опытом. Аналогично начинающий пользователь компа скидывает все файлы в одну папку, а уже более продвинутый создает под файлы целую иерархию папок и аккуратно все раскладывает там.

Правда я не очень понял, вы все таки хотите раскидать функционал по классам одного приложения или создать и использовать библиотеку?
Добро пожаловать на форум сайта StartAndroid
ИзображениеИзображение

aiai
Сообщения: 3
Зарегистрирован: 28 фев 2012, 11:21

Re: Модульность приложения

Сообщение aiai » 01 мар 2012, 11:40

damager82 писал(а): Правда я не очень понял, вы все таки хотите раскидать функционал по классам одного приложения или создать и использовать библиотеку?
Скорее первое. Пока есть одна конкретная задача. Есть сайт, энциклопедия на собственном вики-движке (16 тыс. статей с приростом 2-3 тыс. в год). Хочу портировать ее на android для offline-просмотра. Вроде план прост - делаю выгрузку содержимого в текстовый файл, приложением выкачиваю этот файл, парсю, создаю sql-базу по словнику и набор html файлов с текстами статей (пока кажется так оптимальнее, но можно и и тексты хранить в БД), затем показываю алфавитный словник с возможностью поиска по нему, просмотр выбранной статьи встроенным браузером с возможностью перехода между статьями по внутренним линкам.

Каждый из этих пунктов имеет несколько более-менее оптимальных решений и множество ошибочных :) Поэтому и хотелось бы сразу модульности, чтобы не утонуть в коде и заменять по необходимости решения на более оптимальные, не перелопачивая при этом весь код.

Ответить