Очень хочу получить информацию в любом виде (советы, личный опыт, ссылки на статьи или блоги, просто ключевые слова для поиска) о правильном проектировании взаимодействия библиотек/модулей при кодинге под Delphi XE2 (постепенно перехожу с Turbo 2006, но в старом проекте этой теме уделял очень мало внимания, поэтому практически с нуля учусь)
вот пример 1:
есть библиотека libА, в которой описаны классы classA1, classA1List, classA2, classA2List и объекты objectA1List (список объектов classA1) и objectA2List
Вопрос: как правильно (можно несколько вариантов?) в библиотеки libB получить objectA1List и objectA2List из библиотеки libA?
пример 2: похож на предыдущий, но усложняется тем, что в библиотеке libB нужно запустить алгоритм из библиотеки libA, который будет ещё и визуальные формы отображать, но потом всё равно вернёт списки объектов.
вот и тут меня накрывает лавина вопросов, как всё это реализовывать. Нужно ли использовать интерфейсы.. Нужно ли выбирать между dll и bpl.. и т.д. и т.п.
п.с. есть особенность, в будущем, хотелось бы иметь возможность разнести эти две библиотеки по разным компьютерам, т.е. libA будет сервером приложений а libB - клиентом (в этом случае пример2 не будет нужен, конечно). Поэтому хочется спроектировать приложение так, чтобы это разделение в дальнейшем произошло с минимальными затратами.
вот пример 1:
есть библиотека libА, в которой описаны классы classA1, classA1List, classA2, classA2List и объекты objectA1List (список объектов classA1) и objectA2List
Вопрос: как правильно (можно несколько вариантов?) в библиотеки libB получить objectA1List и objectA2List из библиотеки libA?
пример 2: похож на предыдущий, но усложняется тем, что в библиотеке libB нужно запустить алгоритм из библиотеки libA, который будет ещё и визуальные формы отображать, но потом всё равно вернёт списки объектов.
вот и тут меня накрывает лавина вопросов, как всё это реализовывать. Нужно ли использовать интерфейсы.. Нужно ли выбирать между dll и bpl.. и т.д. и т.п.
п.с. есть особенность, в будущем, хотелось бы иметь возможность разнести эти две библиотеки по разным компьютерам, т.е. libA будет сервером приложений а libB - клиентом (в этом случае пример2 не будет нужен, конечно). Поэтому хочется спроектировать приложение так, чтобы это разделение в дальнейшем произошло с минимальными затратами.