Qual è lo scopo della classe Servizi oggetto?

1

Sto leggendo un libro su TDD: (a parte questa domanda non ha nulla da fare con TDD)

link al libro su Amazon
L'autore menziona spesso / utilizza le Classi di servizio

Ad esempio avremmo un Oggetto Person La persona avrebbe:
  - una classe "regolare" per definire l'entità Persona   - una classe di accesso ai dati (diciamo che abbiamo un db per la persistenza dei dati) usando     ad esempio un repository patter PersonRepository
  - una classe "servizio" (PersonServices) PersonServices come spiega lo stesso autore:

A PersonService class serves as the business domain class that works with Person objects from a standpoint of enforcing business rules and using Person in business work fl ows.

La mia domanda sarebbe: un modo per andare con le tue lezioni? In passato avrei messo tutto dalla classe Person e PersonServices in un'unica classe. Quale tipo di funzionalità andrebbe nelle classi Servieces per i miei oggetti?

Non sono sicuro di aver compreso la citazione sopra (forse mi manca il punto?)

    
posta GlutVonSmark 29.07.2014 - 11:58
fonte

1 risposta

1

Una regola aziendale tipica relativa agli oggetti Person è che devono avere un identificatore univoco (ad esempio indirizzo email, codice dipendente ...). Proprio lì hai qualcosa che la classe Person non può imporre da sola: ogni Person conosce solo il proprio identificatore, ma per applicare la regola devi accedere a tutti % esistentePerson S. Ecco perché hai bisogno di un'altra classe con un ambito più ampio rispetto alla semplice rappresentazione di una persona, ad es. una classe di servizio (e puoi anche vedere come avere una classe di repository sarebbe utile per scrivere la classe di servizio).

    
risposta data 29.07.2014 - 12:02
fonte

Leggi altre domande sui tag