Think that when one Branch saved, a Customer entity must created in n tier layered system architecture. All validation has already implemented in CustomerService.
- Should BranchService create CustomerService instance to create customer?
- Branch service implement validation again for Customer and call CustomerRepository?
- Branch must have Customer entity as a propery and should have Customer validation on BranchService?
Sample Classes are
Branch - Code - Description - CustomerId Customer - Code - Description - CustomerType BranchRepository - Add - Remove - Get CustomerRepository - Add - Remove - Get BranchService - AddBranch (Validates entities) CustomerService - AddCustomer (Validates entites)