Dirty repository design pattern

When you're developing services, database management and query code can bloat your codebase if they aren't abstracted cleanly. The repository design pattern is a useful way to keep the codebase clean without limiting functionality.

