Los accesores de estilo JavaBean han demostrado ser una buena combinación para todo tipo de escenarios que son similares al escenario original de la "herramienta de creación" en un punto central: los componentes se pasan y manipulan mediante contenedores y herramientas genéricos, así como el código de la aplicación. En un servidor de aplicaciones, tiene componentes de servicio a los que un contenedor EJB o Spring agrega transacciones e inyecciones de dependencia, modelos de dominio persistentes a los que un ORM agrega carga lenta y detección de cambios, y que una biblioteca puede serializar en XML sin ningún código específico.
Los accesores proporcionan una API común que es muy flexible en la forma en que se puede usar el componente; no prohíbe un orden de operaciones. Cada llamada de acceso es independiente de otras y todas siguen el mismo patrón, por lo que puede agregar fácilmente capas genéricas que agregan funcionalidad sin interrumpir el patrón de uso previsto.
En contraste, las interfaces fluidas a menudo se diseñan para un uso único: se crea el objeto, se llama una cadena de métodos que termina con un método que produce un resultado final, y luego se abandona el objeto. Hay mucha menos flexibilidad (principalmente en los métodos que son opcionales) y genérico, pero esta es exactamente la ventaja: la interfaz lo obliga a un patrón de uso previsto, lo que lo hace muy fácil de usar.
Por lo tanto, JavaBeans y las interfaces fluidas tienen ventajas en diferentes escenarios, y lo que debe usar depende. E incluso podrías combinar ambos.