This is a simple refactoring exercise by Matteo Vaccari that is meant to teach something about dependency inversion and dependency injection.
The documentation: http://matteo.vaccari.name/blog/archives/154
We refactored the initial code to decouple domain objects from file system and email sending using ports and adapters as the exercise suggested.
We think there’s still a lot of room for improvement in the adapters code.
- Original proposal: no hexagonal architecture.
- Converting to hexagonal architecture: http://matteo.vaccari.name/blog/archives/154
- Birthday Greetings Kata: https://bitbucket.org/trikitrok/birthdaygreetingskata
- Birthday Greetings Kata v 2.0: https://bitbucket.org/cogani/birthdaygreetingskata2/src
- Added BDD by Cucumber framework