Recientemente realizamos una revisión del código del código Java de la aplicación móvil que fue desarrollado por un contratista externo y notamos que todos los objetos de dominio / objetos de transferencia de datos están escritos en este estilo:
public class Category {
public String name;
public int id;
public String description;
public int parentId;
}
public class EmergencyContact {
public long id;
public RelationshipType relationshipType;
public String medicalProviderType;
public Contact contact;
public String otherPhone;
public String notes;
public PersonName personName;
}
Por supuesto, a estos miembros se accede directamente en cualquier otro lugar del código. Cuando preguntamos sobre esto, los desarrolladores nos dijeron que este es un patrón de diseño de mejora del rendimiento habitual que se utiliza en plataformas móviles, porque los dispositivos móviles son entornos de recursos limitados. No parece tener sentido; el acceso a miembros privados a través de captadores / creadores públicos no parece que pueda agregar mucha sobrecarga. Y los beneficios adicionales de la encapsulación parecen superar los beneficios de este estilo de codificación.
¿Es esto generalmente cierto? ¿Es esto algo que normalmente se hace en plataformas móviles por los motivos mencionados anteriormente? Todos los comentarios son bienvenidos y apreciados.