LINUX.ORG.RU
ФорумTalks

Что почитать по проектировании архитектуры и разработке (и других тонкостях) модульных приложений?

 , ,


2

6

SUBJ. Уточнения:

  • речь идёт о десктопных, мобильных, «серверных» приложениях
  • язык C++ (если это имеет значение)
  • модульность обеспечивается динамически подгружаемыми/выгружаемыми плагинами
★★★★★

Последнее исправление: Chaser_Andrey (всего исправлений: 2)

Когда-то наткнулся на книгу «Linux Device Drivers», страшно потащился, но прочитать целиком руки не дошли - хотя вопрос и интересен, я не программер, так что реальной необходимости не встало.

pianolender ★★★
()

Почитай, что такое Dependency Injection, проникнись, потом сделай свой костыль для плюсов для реализации DI/IOC. Также повдохновляйся архитектурой OSGi.

vsn
()

часто вспоминают qtcreator как пример, посмотри как там реализовано.

ukr_unix_user ★★★★
()
Ответ на: комментарий от pianolender

Оно имеет отношение к разработке модульных приложений.

Никоим образом.

UVV ★★★★★
()
Ответ на: комментарий от pianolender

Оно имеет отношение к разработке модульных приложений.

Это немного не те «модульные» «приложения», о которых хотел услышать ТС, я так думаю.

Технически модульность ТСу на С++ в том виде, в котором он хочет, обеспечат dlopen()/dlsym(). А вот с архитектурной точки зрения - какой модулям нарисовать интерфейс, как грамотно обеспечить их взаимодействие, это уже зависит от случая и в общем виде рассказано в книжках (не в LDD)

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

И ещё недавно Бек нахваливал Structured Design

Хм. Этой книге лет больше, чем тебе. Кажется, она еще в Союзе издавалась.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Так это. Она же освещает проблемы лоу-коуплинга и хай кохежона? Значит уже поможет :)

Я вообще не припомню книг, которые полностью (либо частично) освещали бы проблемы создания приложений с плагинами.

Хотя нет, вон у меня на полке лежит оранжевая «Visual C++ .Net: Библия пользователя», там да, именно про это выделено целых 6 страниц из главы про DLL. А надо ли больше? Всё равно в итоге всё сводится к базовым принципам, а уж откуда брать конкретные инстансы объектов - дело десятое.

yoghurt ★★★★★
()
Ответ на: комментарий от yoghurt

Она же освещает проблемы лоу-коуплинга и хай кохежона?

Их освещает любой приличный учебник. Впрочем, реально приличные этих баззвордов не используют.

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Она же освещает проблемы лоу-коуплинга и хай кохежона?

Их освещает любой приличный учебник.

Реквестирую твой перечень приличных учебников, в которых разжевано про coupling и cohesion. Джуниоров кормить.

Manhunt ★★★★★
()
Последнее исправление: Manhunt (всего исправлений: 1)
Ответ на: комментарий от Manhunt

Реквестирую твой перечень приличных учебников.

Боюсь, он устарел, некоторые я и забыл уже. Но вот: Керниган, Плоджер «Элементы стиля программирования» и «Программные средства»; Керниган, Пайк «Практика программирования»; Дейкстра «Дисциплина программирования» и Грис «Наука программирования»; Хоар «Взаимодействующие последовательные процессы»; Бентли «Жемчужины программирования»; Страуструп «Язык программирования Си++» 2-я редакция (именно вторая); Буч «Объектно-ориентированное программирование с приложениями».

И, конечно, Керниган, Пайк «UNIX: универсальная среда программирования».

разжевано про coupling и cohesion

Здесь увы, ничем не помогу. К тому времени, как баззворды вошли в моду, я уже читал в основном сетевые статьи.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)

Шаблоны проектирования. Да хоть для JAVA.

vada ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.