These are chat archives for MarcosSegovia/ddd_partyhard

21st
Sep 2015
Nil Portugués Calderó
@nilportugues
Sep 21 2015 08:25
https://github.com/nilopc/ddd-decoupled-symfony2/blob/master/src/NilPortugues/MyBoundedContext/Infrastructure/Persistence/InMemory/User/UserRepository.php > lo hice para que fuera facil de cargar, sin BBDD. Pero si fuera contra BBDD le pasaria la conexión pdo y no un array
en realidad, un repositorio, en DDD, retorna objetos User, y UserId
el factory se injecta para poder construir el objeto a cada operación de “find” que se hace.
Marcos Segovia
@MarcosSegovia
Sep 21 2015 11:54
vale y un repository para la database?
porque al final las operaciones en bbdd son las mismas, no?
find, create, update y delete
para cualquier entidad
es la idea que me surgio
Nil Portugués Calderó
@nilportugues
Sep 21 2015 11:58
Mirate esto.. .https://github.com/phpddd/repository (lado dominio) https://github.com/phpddd/repository-sql (lado infraestructura)
creo que se aclararán toda tus dudas :p
estrictamente, tema SOLID… CRUD hace dos cosas diferentes, leer y modificar la base de datos.
que nos lleva al tema de Query (lectura) and Command (escritura)
Marcos Segovia
@MarcosSegovia
Sep 21 2015 12:00
si, eso lei que habia uqe separar la lecturar de los demás
Nil Portugués Calderó
@nilportugues
Sep 21 2015 12:00
depende de cuanto te quieras apretar
no hace falta q seas muy estricto
al final, si usas una interface
facilmente podrías separar un repo
en dos
Marcos Segovia
@MarcosSegovia
Sep 21 2015 12:00
partiendo de que no estoy haciendo DDD, al final voy a hacer DDD xDDDD
Nil Portugués Calderó
@nilportugues
Sep 21 2015 12:00
entonces, tira más estilo active record
q yo lo veo bien para la mayoria de casos
Marcos Segovia
@MarcosSegovia
Sep 21 2015 12:00
estilo active record?
Nil Portugués Calderó
@nilportugues
Sep 21 2015 12:01
mapeo directo a CRUD
de las acciones de controllers, de models, de vistas
pim pam
siempre es un buen inicio
Marcos Segovia
@MarcosSegovia
Sep 21 2015 12:01
ya
Nil Portugués Calderó
@nilportugues
Sep 21 2015 12:01
por mucho que se raje del tema, es la base
Marcos Segovia
@MarcosSegovia
Sep 21 2015 12:01
el tema es que primero quiero organizar bien que es un interface repository
en mi app
Nil Portugués Calderó
@nilportugues
Sep 21 2015 12:02
se raja porque se empiezan a hacer joins y cosas chungas, que quizá deberian replantearse creando nuevas tablas en vez de joins cruzados a lo loco
Marcos Segovia
@MarcosSegovia
Sep 21 2015 12:02
y cuando tenga todas esas entities
meterme con los controllers y demas
Nil Portugués Calderó
@nilportugues
Sep 21 2015 12:02
pues con la interface, ya lo haces bien
ademas
podrias hacer mocks para testear el conceptio
concepto*
Marcos Segovia
@MarcosSegovia
Sep 21 2015 12:03
eso es otro tipo de unit test?
Marcos Segovia
@MarcosSegovia
Sep 21 2015 13:15
buff me falta mucha teoria para acabar de entender
a ver si me acabo de hacer un esquema UML aproximado y me puedes orientas
orientar*
Marcos Segovia
@MarcosSegovia
Sep 21 2015 15:35
empiezo a entender :)
en cuanto terminé de picar esto lo subo a ver que te parece
entre el ejemplo del Money que hice del libro de TDD
y ahora con los UserName, UserIds, etc
empiezo a ver el sentido de los value objects
Marcos Segovia
@MarcosSegovia
Sep 21 2015 16:20
me siento orgulloso de empezar a entenderlo
Marcos Segovia
@MarcosSegovia
Sep 21 2015 17:56
nil
es justo lo que me pasa a mi ahora al intentar validar con el component validator de silex
tengo que inyectarle la $app incializada al principio
al value Object de Email
no es un poco feo?