En determinadas por el diseño de libros de dominio, por Eric Evans, en el capítulo 6 en la sección de "fábricas" (página 139) que dice lo siguiente:DDD Book, Eric Evans: ¿Qué se entiende por "La FÁBRICA se debe abstraer al tipo deseado en lugar de la (s) clase (s) concreta (s) creada (s)"?
"Los dos requisitos básicos para cualquier buena fábrica son:
...
"2. La fábrica debe ser abstraído al tipo deseado en lugar de la clase concreta (es) creado."
Podría explicar con más detalle lo que se entiende por esa declaración sobre el número requisito básico 2.
gracias por su rápida respuesta. Aunque todavía estoy un poco confundido porque también dice más adelante en el libro (en la parte inferior de la p.143) "La FÁBRICA está acoplada a la clase concreta de los productos"; Afortunadamente, estoy desarrollando en php, por lo que los '' tipos de devolución '' no son un problema técnico (aunque conceptualmente sigue siendo importante) –
Creo que lo dice porque en la mayoría de los casos creará una instancia de la clase concreta dentro del método Create usando nuevo operador. Por lo tanto, tendrá un fuerte acoplamiento entre el método creacional y el tipo concreto. Sus consumidores no necesariamente harán referencia al tipo concreto, solo a la interfaz. Sin embargo, la clase de fábrica tendrá que hacer referencia al tipo concreto. –
Creo que veo. Por lo tanto, básicamente haga uso de los diversos patrones de creación (GoF) para mantener la firma y los tipos de devolución de las clases de fábrica tan genéricos como sea posible para proteger las implementaciones específicas de hormigón. Pero aún puede tener una clase de fábrica que esté vinculada a un objeto de dominio concreto siempre que su interfaz sea genérica. Entonces, LampshadeFactory y un SofaFactory siguen siendo válidos siempre que se mantengan ocultos detrás de la interfaz abstracta de FurnitureFactory. –