Domain-Driven Design.

Domain-Driven Design (DDD) focuses design on business-level abstractions. This creates better technical abstractions.