Здравствуйте, Ocenochka, Вы писали:
O>>> Есть некая архитектура поделеная на три слоя. Все как положено. Но что делать при запуске приложения? O>>> Сейчас это вижу так: создается объект решения с методом Run(), который создает все необходимые объекты всех слоев и связывает их между собой, после чего запускает потоки. Есть другие варианты? S>>про потоки не понятно...
O> Некоторые объекты имеют свои потоки и функции Start().
S>>можно попробовать создавать объекты по мере необходимости. это можно сделать реализуая "главные" объекты слоев в виде синглетонов, которые иницализируются при первом к ним обращении "рабочих" объектов. Более того иницализация части "внутреностей" главных объектов может выполняться так же при первом обращении.
O> Ага, это второй вариант — "цепной" запуск.
O> То есть, нет каких-либо критериев для выбора варианта? Я склоняюсь к объекту приложения, который производит инстанцирование всех необходимых классов, настройку их друг на друга и их запуск.
если приложение будет работать в каждом сеансе со всеми объектами, то такой вариант может быть удачным. В централизации иницализации и явном связывании объектов есть плюсы (все в одном месте) и минусы (по мере развития мотед будет становится все сложнее)