Move Static factory methods off the class they construct.
- Lenguaje dominante
- Java
- Estrellas
- 12.1k
- Forks
- 4k
- Merge medio
- 2 d 17 h
- PR fusionados (30 d)
- 37
Descripción
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)
Guía de contribución
Línea de trabajo
Revisa primero ManagedChannelBuilder y ServerBuilder; después inspecciona InProcessChannelBuilder y el issue #3438 para conocer el comportamiento informado de los métodos de fábrica. Determina el destino previsto y el impacto en la compatibilidad de mover las fábricas estáticas; el trabajo estará terminado cuando las llamadas desde subclases ya no produzcan tipos confusos o inesperados y la API pública de construcción sea coherente.
Escrito por el modelo de indexación a partir del texto del issue.
Evaluación
- Stack tecnológico
- java
- Área
- api
- Tipo de issue
- Refactorización
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Estado de actividad
- Estancado
- Claridad
- Bastante claro
- Aptitud para principiantes
- 35/100