Move Static factory methods off the class they construct.
- Langage dominant
- Java
- Étoiles
- 12.1k
- Forks
- 4k
- Merge moyen
- 2 j 17 h
- PR mergées (30 j)
- 37
Description
The `ManagedChannelBuilder` and `ServerBuilder` classes both expose static factory methods as a means to construct instances of themselves. These classes can be extended, which means that all subclasses inherit the static methods.
However, when these static methods are call on the subclasses, they often return a different type than expected (InProcessChannelBuilder returns based on the service loader, for instance. See #3438). This leads to confusion, and forces every subclass to add static methods that match the signatures)
Guide de contribution
Ouvrir le guide de contribution
Piste de recherche
Examinez d’abord ManagedChannelBuilder et ServerBuilder, puis inspectez InProcessChannelBuilder et l’issue #3438 concernant le comportement signalé des méthodes de fabrique. Déterminez la destination prévue et l’impact sur la compatibilité du déplacement des fabriques statiques ; le travail est terminé lorsque les appels de sous-classes ne produisent plus de types déroutants ou inattendus et que l’API publique de construction est cohérente.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Évaluation
- Stack technique
- java
- Domaine
- api
- Type d'issue
- Refactorisation
- Difficulté
- 5/5
- Temps estimé
- Plus d'une semaine
- Activité
- À l'abandon
- Clarté
- Plutôt claire
- Accessibilité débutants
- 35/100