Архитектура чего-нибудь слоистого
От: Nuseraro Россия  
Дата: 01.05.11 05:48
Оценка:
Хочется примерно такое:
Есть совокупность программ на единую тематику. У них у всех есть единый для них функционал. Потом они бьются на группы и в каждой группе есть единый для группы функционал. Теоретические может быть что там еще дальше бьется на группы и т.д. Дальше хуже. Эти программы хочется поддерживать, т.е. например обновлять этот самый единый для всех функционал, или единый для группы функционал.

Т.е. к примеру если бы речь шла просто о виндоус-приложениях, то это было бы что-нибудь типа:
1) Есть библиотеки единого функционала
2) Есть библиотеки для каждого единого для группы функционала
3) Есть библиотеки, специфичные для каждой программы
И библиотеки всех уровней могут быть обновлены
---
Соответственно вопросы:
Насколько что-то такое адекватно, если да, то где про это почитать, если нет, то почему?
Homo Guglens
Re: Архитектура чего-нибудь слоистого
От: Carc Россия https://vk.com/gosha_mazov
Дата: 01.05.11 07:15
Оценка:
Здравствуйте, Nuseraro, Вы писали:

N>Хочется примерно такое:

N>Есть совокупность программ на единую тематику. У них у всех есть единый для них функционал. Потом они бьются на группы и в каждой группе есть единый для группы функционал. Теоретические может быть что там еще дальше бьется на группы и т.д. Дальше хуже. Эти программы хочется поддерживать, т.е. например обновлять этот самый единый для всех функционал, или единый для группы функционал.

N>Т.е. к примеру если бы речь шла просто о виндоус-приложениях, то это было бы что-нибудь типа:

N>1) Есть библиотеки единого функционала
N>2) Есть библиотеки для каждого единого для группы функционала
N>3) Есть библиотеки, специфичные для каждой программы
N>И библиотеки всех уровней могут быть обновлены
N>---
N>Соответственно вопросы:
N>Насколько что-то такое адекватно, если да, то где про это почитать, если нет, то почему?

Хм, может быть lib + header, и куча макросов вроде INCLUDE_FUNC_GROUP_A, INCLUDE_FUNC_GROUP_B, INCLUDE_FUNC_GROUP_C?

Тогда делаем так: собираем единую либу, а конкретная софтина ее подключает к себе и указывает нужные ей группы функционала с помощью этих макросов INCLUDE_FUNC_GROUP_XXX. Тогда при сборке линкер нужный функционал из либы прицепит к конкретному бинарнику, ненужное выкинет.
Aml Pages Home
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.