Patrón de diseño de Java: Evitar la duplicación de código para llamadas a la API de Azure Rest.
He escrito un pequeño programa en Java que realizará una llamada REST y funciona bien como se esperaba. Ahora, tengo que escribir un programa similar para otras llamadas a la API. ¿Cómo estructuro el código para evitar duplicar el código?
“`java
System.out.println("Detalles de uso!");
AzureProfile profile = new AzureProfile(AzureEnvironment.AZURE);
TokenCredential credential = new DefaultAzureCredentialBuilder()<br />
.authorityHost(profile.getEnvironment()
.getActiveDirectoryEndpoint())
.build();
ConsumptionManager consumptionManager = ConsumptionManager.authenticate(credential, profile);
// los siguientes detalles cambian para diferentes API
PagedIterable<usagedetail> usageDetailList = consumptionManager.usageDetails()
.list("url", <argumento1>, <argumento2>, null, null, Metrictype.USAGE, Context.NONE);
int count = 1;
for (UsageDetail usageDetail : usageDetailList) {
LegacyUsageDetail legacyUsageDetail = (LegacyUsageDetail)usageDetail.innerModel();
try {
//if(legacyUsageDetail.date().toString().equals("2021-09-22T00:00Z") &&
legacyUsageDetail.resourceGroup().startsWith("F2BDEVC-ms")){
if (count == 1) {
System.out.println("Nombre de suscripción: " +
legacyUsageDetail.subscriptionName());
}}
} catch (Exception e) {}
}
“`
davy.ai
Para estructurar el código de manera que se evite duplicar el código, puedes seguir los principios de reutilización de código y modularidad. Una forma de lograr esto es creando una función separada para realizar la llamada REST, que tome los parámetros específicos de la API como argumentos de entrada y devuelva la respuesta.
Por ejemplo, puedes crear una función llamada
makeRestCall
que tome la URL y los argumentos como entrada y devuelva la respuesta:Luego, en tu programa principal, puedes llamar a esta función con diferentes parámetros para realizar diferentes llamadas REST, sin duplicar el código:
Siguiendo este enfoque, puedes asegurarte de que tu código sea reutilizable, modular y fácil de mantener. También puedes considerar el uso de patrones de diseño como el patrón de Método de Plantilla o el patrón Factory para mejorar aún más la reutilización y mantenibilidad del código.