I find high level abstractions more practical, and easier to understand, when I work on larger projects. I would recommend looking at larger open source products or picking up a few books on enterprise software design. You can skim through the academic theory, if you're already familiar with it, and concentrate on extending their code examples.
Patterns of Enterprise Application Architecture - by Martin Fowler Domain Driven Design - by Eric Evans