From: Francesc Rosàs <francescrosasbos...@gmail.com>
Date: Thu, 26 Apr 2012 21:07:44 +0200
Local: Thurs, Apr 26 2012 3:07 pm
Subject: Re: De thin controllers y detached entities
El 26 d’abril de 2012 20:41, theUniC <theu...@gmail.com> ha escrit:
> Un repository te sirve para consultar datos de tu fuente de datos, no para
Creo que el Sr. Fowler y yo seguimos discrepando ;)
> persistirlos. Entiendo que no se refiere a "meter" (por persistir) de forma > explícita, sino que el propio repository lo hace de manera transparente > cuándo se ejecuta una consulta contra ese repository para solicitar datos. > Para no "cargar de responsabilidad" a los repositories, habría que
A no ser que estemos hablando de lo mismo con palabras diferentes. Así lo
Controllers -> Servicios -> Repositorios -> Data mapper (e.g. un ORM) ->
> Por otro lado, el input hay que validarlo siempre y venga de dónde venga.
Es por eso que me extraña que la validación no sea una parte intrínseca de
> Aquí pasa un poco cómo en la cuestión de los repositories. Y es que el > patrón ActiveRecord, al menos la mayor parte de implementaciones que he > visto, suelen acoplar bastante la validación del input con la propia > persistencia. Y eso es un mal vicio. La responsabilidad de que el > input sea válido no debería recaer en la capa de persistencia. > El componente Validate, a través del service "validate", se encarga de
las entidades. Algo como: $user->setEmail('foo'); // Exception al canto!
En cambio estás "obligado" a validar ese $user cada vez que lo recibes como
> Un saludo!
> Christian. > El 26 de abril de 2012 19:47, Francesc Rosàs <
> No estoy seguro de a qué te refieres por "extracción de entidades del
>> Conceptually, a Repository encapsulates the set of objects persisted in a
>> Y para dejarlo más claro:
>> Objects can be added to and removed from the Repository, as they can from
>> Vamos, como tener un array de entidades persistido y adaptado a tus
>> El 26 d’abril de 2012 19:33, theUniC <theu...@gmail.com> ha escrit:
>>> Hola,
>>> La verdad es que la persistencia tampoco debería ir ligada a la capa de
>>> En todo caso, tal cómo comenta Ronny, deberían tener su propia capa!
>>> Un saludo!
>>> El 26 de abril de 2012 19:01, Francesc Rosàs <
>>> Ronny, sí de momento estoy liado quitando la lógica del negocio de los
>>>> Y gracias por los ejemplos, la verdad es que cuesta encontrar los que
>>>> El 24 d’abril de 2012 18:13, Ronny López <ro...@pricebets.com> ha
>>>> Hola,
>>>>> En teoría la interfaz que exponga la capa de servicio debe estar
>>>>> En el caso que planteas, a los clientes del TweetService no les
>>>>> Piensa por ejemplo, que hoy se pueden estar persistiendo los tweets en
>>>>> Entonces, si el servicio maneja la persistencia de forma interna,
>>>>> Unos buenos ejemplos a seguir en este tipo de diseño de "modelo de
>>>>> Aquí se interactua con los objetos del modelo a través de un
>>>>> Entonces, existe una implementación abstracta
>>>>> Es cierto que este tipo de diseño require más trabajo de diseño y
>>>>> Saludos,
>>>>> El martes, 24 de abril de 2012 14:51:25 UTC+2, Francesc Rosàs escribió:
>>>>>> Hola symfoneros, estoy trabajando en un proyecto en Symfony2 +
>>>>>> Había pensado que para aligerarlos podría empezar con extraer todo el
>>>>>> Las ventajas vendrían a ser estas:
>>>>>> - El controller hace sólo de pasarela entre el usuario y el modelo
>>>>>> Uno de los aspectos que me genera más dudas es la forma de encapsular
>>>>>> Para evitar esto había pensado en algo así:
>>>>>> class TweetsService
>>>>>> $this->notifyFollowers($tweet)**;
>>>>>> Básicamente olvida todos los cambios hechos en las entidades (el
>>>>>> Cómo veis esta aproximación? Me estoy liando sólo? Va a afectar mucho
>>>>>> Un saludo.
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.
| ||||||||||||||