VO:Данные, которые необходимо отобразить на уровне представления。 DTO:Уровень бизнес-логики должен получать данные и возвращать данные.。 ВО и Значения атрибутов ДТО в основном такие же, но VO — это окончательная интерпретация DTO, и поля DTO можно соответствующим образом удалить. Например:
Пример 1:
Поля, возвращаемые в DTO:
{
"sex": "женский",
}
Для большинства нужд возвращаемых полей достаточно. Однако если бизнес-требованием является отображение определенного удостоверения, то на уровне VO требуются дополнительные пояснения: Поля, возвращаемые в VO:
{
"sex": "актриса",
}
Пример 2: ДТО:
{
"sex": "мужской",
"age": "17"
}
Если на уровне отображения нужно только показать, являетесь ли вы взрослым: ВО:
{
"age": "несовершеннолетний"
}
PO:Обычно это толькоget/setметодическийPOJO,Его также часто называют классом сущности. DO:ОбычноPOкомбинация,То есть сопоставление запросов на объединение нескольких таблиц. Пример: ПО1:
{
"id": "999",
"name": "ahzoo"
}
PO2:
{
"userId": "999",
"role": "администратор"
}
DO:
{
"id": "999",
"name": "ahzoo",
"role": "администратор"
}
BO:иPOРазница в том,,BO удалит некоторые данные, которые не подходят для отображения на уровне отображения.,Предоставляйте внешнему миру только необходимые атрибуты поля.。 Например, если пользователю необходимо запросить информацию о пользователе, вообще говоря, информация о пользователе, возвращаемая пользователю, не должна содержать таких полей, как пароли, поэтому мы можем выполнить некоторую обработку на уровне BO. Пример: Если используется слой PO, возвращаются следующие поля:
{
"id": "999",
"name": "ahzoo",
"password":"123456"
}
Возвращенное поле слоя BO:
{
"id": "999",
"name": "ahzoo"
}
Мой блог скоро будет синхронизирован с сообществом разработчиков Tencent Cloud.,Приглашаем всех присоединиться к нам:https://cloud.tencent.com/developer/support-plan?invite_code=1illw5frinnv7