Я предлагаю подумать о том, как это приложение будет использоваться. Как будущие пользователи будут работать с ним? Я уверен, что вы знаете, по крайней мере, несколько вещей о том, что нужно для этого приложения, но мой первый совет - «подумать о пользователе и о том, что ему нужно».
Нарисуйте его на обычной бумаге, думая, где отделить код. Помните, чтобы не смешивать логику с графическим интерфейсом (общая ошибка). Таким образом, вы будете настроены на расширение приложений в будущем для сервлетов и/или апплетов или любой другой платформы. Разделите слои, чтобы быстрее реагировать на большие изменения, не перестраивая все. Слои не должны видеть других слоев, чем их ближайшие соседние слои.
Начните с истинной функциональности ядра. Весь этот многопотоковый пух (который заставит ваш проект опоздать на 4 недели), не имеет большого значения для большинства пользователей. Он может быть добавлен позже, как только вы убедитесь, что сможете доставить его вовремя.
КПП. Несмотря на то, что это не имеет никакого отношения к дизайну, я бы просто хотел сказать, что вы не дойдете до времени. Сделайте реалистичную оценку потребления времени, а затем удвойте ее :-) Я предполагаю, что вы не будете одиноки в этом проекте и что люди придут и уйдут по мере продвижения проекта. Возможно, вам придется тренировать людей в середине проекта, люди отправляются в отпуск или нуждаются в операции и т. Д.
+1 Пусть JPA обрабатывает слой данных, концентрируется на реализации java, который можно скомпилировать, проверить и понять вашим редактором – klonq 2012-04-06 09:32:08