Должна ли коллекция объектов также отвечать за создание новых объектов?
Позвольте мне объяснить. У меня есть два класса, PhoneCall и PhoneCallList. PhoneCallList - это коллекция объектов PhoneCall. Наш архитектор и я не в курсе, как создать новые объекты PhoneCall. В настоящее время объект PhoneCall имеет метод Create, который добавляет запись в базу данных, а объект PhoneCallList имеет метод Add, который добавляет PhoneCall в список.
Архитектор хочет, чтобы метод Add в PhoneCallList также создал новую запись в базе данных и добавил ее в коллекцию. Делает ли это так, нарушает ли принцип единой ответственности? Мне кажется, что это не лучший способ сделать это.
Какой лучший способ сделать это?
* Ни один объект не имеет знаний о БД. Служба вызовов, которая заботится обо всем доступе к данным. Вопрос в том, должен ли объект PhoneCall или PhoneCallList вызывать службу, которая осуществляет доступ к данным?