2010-09-08 2 views
2

Я пытаюсь понять код какого-либо проекта, который не был должным образом задокументирован. Единственный разработчик, работающий над задачей. У меня нет большого опыта. Существует модель данных, и для доступа к ней есть некоторые классы, прописанные witten. Было упомянуто, что модель данных имеет некоторый отдых api поверх нее. Но когда я вижу код, я могу видеть код gette r, который вызывает некоторый вызов для вызова некоторые ури. Но я смотрю на методы setter, он имеет простой jpa, используемый для продолжения объекта. ex extitymanger.persist(objname).REST и JAVA JPA

Теперь можно использовать интерфейс REST для получения данных и использования JPA для сохранения данных?

ответ

1

Да, это возможно. Не зная больше, невозможно узнать, эффективен ли он. Мои инстинкты говорят мне, что это не лучшее решение.

+0

спасибо jacob.Почему они, должно быть, так поступили? – akp

+1

Очень часто недобросовестные инженеры будут тестировать новые технологии только для того, чтобы перейти к чему-то еще в середине. Это может привести к беспорядочному беспорядку для поддержки других. Также возможно, что они были в середине рефакторинга, когда изменились требования или стоимость бизнеса. –

0

Это определенно возможно. Похоже, классы доступа абстрагируются вокруг базы данных для хранения. Таким образом, он ведет себя как DAO и использует JPA для доступа к источнику данных. Для геттеров ваш класс доступа использует открытый REST-интерфейс из некоторой службы. Поэтому вместо использования JPA для запроса и возврата данных используется служба, выполняющая одни и те же задачи.

Возможно, интерфейс REST доступен только для чтения и не предоставляет механизм для хранения данных, поэтому используется прямая JPA.

+0

спасибо, что ответили john.Can u plz скажите мне, почему они могли это сделать? Почему бы не использовать JPA для получения данных? – akp

+1

Может быть множество причин, но я бы предположил, что, возможно, код запроса является сложным и уже существует как часть службы, и они не хотели его реплицировать. Интерфейс REST, вероятно, поддерживается той же базой данных, к которой обращается код JPA. Здесь особая проблема? С точки зрения вашего кода вы используете уже доступный класс accessor, поэтому не имеет значения, как они реализовали методы get/set. –

+0

спасибо john.Do у вас больше никаких вложений на это? Было бы очень полезно помочь мне – akp

0

Я думаю, что лучше всего сделать, это забыть пытаться выработать отдельные фрагменты кода и сосредоточиться на большая картинка. Разработайте все входы и все выходы. Даже записывайте несколько тестовых примеров для тестирования различных входов, создавая различные выходные данные.

Таким образом, вы можете понять, что делает код без необходимости знать все мелкие ddetails.

Смежные вопросы