Я работаю над проектом с 5 разработчиками. Приложение состоит из толстого клиента, тонкого клиента администратора и нескольких вспомогательных приложений для обслуживания. В настоящее время «толстый» клиент написан на VB6 и должен быть преобразован в .NET в ближайшие 6–12 месяцев. Тонкий клиент - это веб-приложение для администраторов, которое позволяет администратору управлять настройками толстых клиентов. Поддерживающие приложения обслуживания используются для выполнения ночных пакетных заданий и заданий, которые должны выполняться через регулярные промежутки времени, чтобы данные перемещались по всему приложению. В настоящее время у нас есть следующие структуры:
Файловая система:
Текущее расположение файловой системы http://img130.imageshack.us/img130/5387/currentprojectlayout.png
SVN:
Текущий формат SVN http://img707.imageshack.us/img707/2320/currentsvnlayout.png
Как видите, наш репозиторий Subversion в основном отражает структуру нашей файловой системы с очевидными изменениями для стандартных папок Subversion Trunk, Tags и Branches. В нашем проекте есть папка lib, в которой хранятся все наши библиотеки DLL, не относящиеся к GAC. Внутри нашего каталога src у нас есть две папки и наш файл сборки для непрерывной интеграции. В этих двух папках находятся два типа приложений: толстый клиент (VB6) и другие наши проекты (другие). Приложение VB6 разделено на разные модули, которые содержат разные части бизнес-логики для приложения. В папке Other у нас много разных проектов (как показано выше с Project1 - Project6, их много). Есть веб-приложение, в котором находится код нашего тонкого клиента. Некоторые из других проектов здесь поддерживают приложения, общие классы, к которым обращаются различные части приложения, и наши приложения обслуживания. Когда мы переходим в .NET с приложением VB6, я бы хотел немного реструктурировать проект и узнать, как лучше всего провести реорганизацию этого приложения. Моей первой мыслью было иметь следующую структуру:
Предлагаемый формат файловой системы http://img248.imageshack.us/img248/7712/proposedprojectlayout.png
Я знаю, что существует множество вопросов о переполнении стека , которые касаются такого рода проблем, но это скорее конкретный вопрос о моем проекте, а не общий вопрос, как у многих других.
Это лучший способ разобраться в проекте, или есть лучший способ?
Спасибо,
Скотт Блю