Tôi hiện đang xây dựng lại hệ thống bán vé chuyên dụng tại nơi làm việc (chủ yếu được sử dụng để hỗ trợ những người có lỗi trong phần cứng viễn thám ...). Dù sao, tôi đã tự hỏi liệu làm rất nhiều hoạt động loại công việc trong một nhà xây dựng của đối tượng là một ý tưởng tốt.Có phải logic nghiệp vụ trong các nhà thầu là một ý tưởng hay không?
Ví dụ, hiện nay là thế này:
$ticket = new SupportTicket(
$customer,
$title,
$start_ticket_now,
$mail_customer
);
ngay khi đối tượng được tạo ra, nó sẽ đặt một hàng vào một cơ sở dữ liệu, đi và gửi cho khách hàng xác nhận e-mail, có thể gửi tin nhắn văn bản cho kỹ thuật viên gần nhất, v.v.
Nhà xây dựng có nên kích hoạt tất cả công việc đó hoặc thứ gì đó tương tự như sau không?
$ticket = new SupportTicket($customer, $title);
$customer->confirmTicketMailed($ticket);
$helpdesk->alertNewTicket($ticket);
Nếu được, các đối tượng đều dựa trên kiểu ActiveRecord.
Tôi đoán đó có thể là vấn đề về ý kiến, nhưng bạn nghĩ điều gì là tốt nhất để làm?
Bạn có thể thấy điều này có liên quan: [Constructors Must Be Code-Free] (http: //www.yegor256. com/2015/05/07/ctors-must-be-code-free.html) – yegor256