นี่เป็นคำถามที่ฉันถามกลับไปซักพักแล้ว แต่มันอาจจะดีกว่าที่นี่ ...
ที่ที่ฉันทำงานเราได้ย้อนกลับไปในเรื่องนี้หลายครั้งและกำลังมองหาการตรวจสุขภาพ นี่คือคำถาม: หาก Business Objects เป็น data container (เหมือนDTO ) หรือควรมีตรรกะที่สามารถใช้งานบางอย่างกับวัตถุนั้นได้
ตัวอย่าง - นำวัตถุลูกค้าอาจมีคุณสมบัติทั่วไปบางอย่าง (ชื่อรหัส ฯลฯ ) หากวัตถุลูกค้านั้นควรมีฟังก์ชั่น (บันทึก, คำนวณ, ฯลฯ )?
การใช้เหตุผลหนึ่งบรรทัดบอกว่าแยกวัตถุออกจากฟังก์ชั่น (ผู้รับผิดชอบหลักเดียว) และวางฟังก์ชันการทำงานในเลเยอร์หรือตรรกะทางธุรกิจ
อีกเหตุผลหนึ่งบอกว่าไม่ใช่ถ้าฉันมีวัตถุลูกค้าฉันแค่ต้องการโทรหาลูกค้าบันทึกและทำได้ด้วย ทำไมฉันต้องรู้เกี่ยวกับคลาสอื่นเพื่อบันทึกลูกค้าถ้าฉันใช้วัตถุ?
โครงการสองโครงการสุดท้ายของเรามีวัตถุที่แยกออกจากฟังก์ชันการทำงาน แต่การอภิปรายได้รับการยกขึ้นอีกครั้งในโครงการใหม่
ซึ่งทำให้รู้สึกมากขึ้นและทำไม?