В настоящее время я перестраиваю специализированную систему билетов на работу (в основном используется для поддержки людей с ошибками в оборудовании для дистанционного зондирования...). Во всяком случае, мне было интересно, является ли хорошая работа типа рабочего процесса конструктором объекта.
Например, в настоящее время это:
$ticket = new SupportTicket(
$customer,
$title,
$start_ticket_now,
$mail_customer
);
как только объект будет создан, он поместит строку в базу данных, отправит и отправит клиенту электронное письмо с подтверждением, возможно, отправит текстовое сообщение ближайшему специалисту и т.д.
Если конструктор отключит все, что работает, или что-то вроде следующего?
$ticket = new SupportTicket($customer, $title);
$customer->confirmTicketMailed($ticket);
$helpdesk->alertNewTicket($ticket);
Если это помогает, все объекты основаны на стиле ActiveRecord.
Я думаю, это может быть вопросом мнения, но как вы думаете, что лучше всего делать?