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)