Re: Avoid injecting Service/Repository in an Entity
Jorge Branco <[email protected]>
| Newsgroups | gmane.comp.programming.domain-driven-design |
|---|---|
| Message-ID | <CAMfCbE845wQx4DPFYqTTexDAv8PUz_+gWFuQvANWbJds4XGgjQ@mail.gmail.com> |
From my (limited) understanding, you'd have to implement that kind of logic on a command that knows all the relevant services/repositories. On Tue, Mar 25, 2014 at 7:23 AM, <[email protected]> wrote: > > > Hi Everyone, > > From what I've read, this is really bad. But I have the following use case > so wondering how to do this in the proper DDD way. The business rule is > contrived but it is very similar to what i have in real life. I just cannot > disclose the use case due to NDAs. > > I have a class named Class. A class can have students in it. There is a > business rule such that if a student with the same surname belongs to any > current of any other class, they cannot be added to the class. > > So on Class, i have a method named AddStudent. Just wondering how would > the algorithm be implemented in a proper DDD sense > > public class Class > { > > public void AddStudent(Student student) > { > > // Call a repository to get all the students enrolled in all classes > // If any students surname matches the surname of the student passed in, > do not thing > // otherwise add the student > > } > > } > > > > > >