Recapitulation of day 3The fourth day started with good recapitulation of the container stuff of the day before.
Because we were awake it was easier to understand than yesterday evening.
Application startupLater JP introduced to implement the aspect of application startup as a first class citizen and from my point of view it feels good.
It has to cover the actions of initialization the core service (logging), service layer (registering the service tasks in the container), front controller (registering all the web related stuff in the container: RouteTable, WebContextFactory, ServerViewEngine, CommandRegistry), routing (setting up the routing table)
JP did a lot of cleanup and refactoring to achieve better separation of concerns and focusing on readability of the code.
Introducing the domain layerThoughts only:"Service layer asks the domain layer for getting domain data!"
Parts of the domain:
- Repositories
- Aggregates
- Entities
- Value Objects
- Factories
- Specifications
- Services
Three ways to get objects from the domain layer:
- Repositories
- Aggregates
- Entities
JP introduced the repository he want to use in our application and created the basics.
We started to do out own experience with it and JP completed the repositories.
(I promise to mention it here the last time: Everything top down and writing the tests first! Seeing and doing it all the time is like getting itintravenous.)
When he came to the part of creating the DTO's base on the domain objects, JP introduced the interfaces for mapping data from one type to another type. I have to say that I like it! (May be you want to have look at his
blog entry for that mapping.)
ORMI'm not sure, but it was to somewhere between 9.00pm and 10.00pm when JP said that he wants to do the ORM and querying the data from the database today!
He coded down most of the stuff in an incredible speed. (You may read "day 4" of
Kyle Baley's blog about ndbn. I definatly can't express it better!)
Completing and wireing up all together!Afterwards he challenged us to complete the whole stuff: Mapper implementations for entities to DTOs, DataRow to entities, criteria to query, wiring up, smoke test, ...
3:33am :
JP's music (high beats - working like heart pacemaker for us) and some RedBull keeps us alive!!!It's the first time i do it all in an agile way; it felt really cool.
Now it is nearly 4.00am and the stuff works! Awesome day! I love it!
Now it's really time to go to sleep, because at 8:30am will (or when able to) start last day (sadly).