Представьте себе какое-то банковское приложение с экраном для создания учетных записей. Каждый счет имеет валюту и банк в качестве свойства, валюта является отдельным классом, а также банк . Код может выглядеть примерно так:
public class Account
{
public Currency Currency { get; set; }
public Bank Bank { get; set; }
}
public class Currency
{
public string Code { get; set; }
public string Name { get; set; }
}
public class Bank
{
public string Name { get; set; }
public string Country { get; set; }
}
В соответствии с принципами разработки REST каждый ресурс в приложении должен иметь свой собственный сервис, и у каждого сервиса должны быть методы, которые хорошо отображаются на глаголы HTTP. Так что в нашем случае у нас есть AccountService , CurrencyService и BankService .
На экране для создания учетной записи у нас есть некоторый пользовательский интерфейс для выбора банка из списка банков и выбора валюты из списка валют. Представьте, что это веб-приложение, и эти списки являются выпадающими. Это означает, что один раскрывающийся список заполняется из CurrencyService и один из BankService. Это означает, что когда мы открываем экран для создания учетной записи, нам нужно сделать два сервисных вызова для двух разных сервисов. Если этот экран сам по себе не находится на странице, возможно, будет больше вызовов службы с той же страницы, что повлияет на производительность . Это нормально в таком приложении? Если нет, то как этого избежать? Как изменить дизайн, не отходя от REST?