DI patterns and antipatterns