Não necessariamente estaria atrelado a vários atributos. Mas falando sobre SOLID, que anda junto com Clean Code, o melhor exemplo prático que achei até hoje é nesse vídeo
SOLID principles com TypeScript com Rodrigo Branas
Fica muito fácil ver que SOLID e TDD é uma combinação muito poderosa.