factory, data transfer object, serializer, validator, service, proxy, adapter,
La maggior parte di ciò che hai chiamato qui proviene da design patterns .
Questo significa che quando chiamate qualcosa a factory/adapter/... ci aspettiamo che non solo abbiamo una responsabilità adeguata, ma che dobbiamo essere costruiti e utilizzati in un modo specifico. Quindi, quando vedo un factory/adapter/... , non mi aspetto solo che rispetti la sua responsabilità, ma che sia l'API a seguire il modo standard di farlo.
Ad esempio, se hai un DTO , potremmo aspettarci di avere un Adapter che lo convertirà in Business Object nel livello Service . Per questo penso che responsability pur essendo vero sia troppo stretto, preferirei purpose .
Aniway la risposta migliore è stata data da @DavidArno nel suo commento:
The key is that a class should have a single responsibility. The rest is semantics