Вы должны выяснить, может ли Клиент существовать, не будучи частью в Выставочном зале, и может ли DeskClerk плавать без участия в Выставочном зале.
Если это сценарий, я бы сделал что-то вродеthis
public class Showroom {
public DeskClerk Clerk { get; private set; }
public List<Customer> Customers { get; set; }
[...]
}
Без демонстрационного зала администратор не будет иметь особого смысла, поэтому выставьте демонстрационный зал в качестве зависимости в его конструкторе:
public class DeskClerk {
private ShowRoom { get; set; }
public DeskClerk(ShowRoom showRoom) {
ShowRoom = showRoom;
}
public Customer AddCustomer(Customer customer) {
//do stuff with customer object
ShowRoom.Add(customer);
return cutomer;
}
}
Не думаю, что это будетПравильно иметь 2 места для добавления клиентов, но DeskClerk должен все же нести ответственность за это.
Однако, возможно, вы неправильно поняли вашу проблему :-) Надеюсь, это поможет!