La base de code où je travail a un objet appelé Paire où A et B sont les types de la première et deuxième valeurs de la Paire. Je trouve cet objet d'être choquant, car il est utilisé à la place d'un objet clairement nommé les membres. Donc, je trouve ceci:
List<Pair<Integer, Integer>> productIds = blah();
// snip many lines and method calls
void doSomething(Pair<Integer, Integer> id) {
Integer productId = id.first();
Integer quantity = id.second();
}
Au lieu de
class ProductsOrdered {
int productId;
int quantityOrdered;
// accessor methods, etc
}
List<ProductsOrderded> productsOrdered = blah();
De nombreuses autres utilisations de la Paire dans la base de code sont de même mauvaise odeur.
J'ai Googlé tuples et ils semblent être souvent mal compris ou utilisé dans des moyens douteux. Est-il un argument convaincant pour ou contre leur utilisation? Je peux comprendre ne voulant pas créer d'énormes hiérarchies de classe mais réaliste des bases de codes où la hiérarchie de classe allait exploser si les tuples n'ont pas été utilisés?