แผนภาพลำดับ: วัตถุนักแสดง?


12

คำตอบที่เป็นไปได้มากที่สุดคือไม่ แต่ฉันมาพร้อมกับข้อสงสัยนี้ นักแสดงสามารถทำหน้าที่เป็นคลาสได้หรือไม่?

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

ถูกต้องว่าถูกต้อง:

ตัวอย่างที่ถูกต้องควร

สงสัยถ้าถูกต้อง:

ป้อนคำอธิบายรูปภาพที่นี่

คำตอบ:


8

ใน UML นักแสดงจะเป็นอะไรบางอย่าง (ระบบหรือบุคคล) ที่อยู่นอกขอบเขตของระบบ / ซอฟต์แวร์ที่คุณกำลังสร้าง มันจะผิดอย่างยิ่งที่จะเปรียบเทียบนักแสดงด้วยอินสแตนซ์ / วัตถุของคลาสที่เกิดขึ้นกับแบบจำลองบางแง่มุมของนักแสดงในระบบของคุณ

ในแผนภาพ UML ที่แสดงนักแสดง "ผู้ใช้" (ที่มีไอคอนรูปแท่ง) แสดงถึงมนุษย์ในโลกแห่งความจริงที่ใช้ระบบของคุณ คลาสUserแสดงถึงแบบจำลองของบุคคลนั้นที่รวบรวมคุณลักษณะที่เกี่ยวข้องกับคุณ คลาสนี้มีอยู่ในระบบของคุณเท่านั้น
นี่ทำให้ชั้นเรียนและนักแสดงเป็นสองหน่วยงานที่แตกต่างกันและควรแสดงเช่นนี้ในไดอะแกรมของคุณ


นักแสดงมักจะอยู่นอกขอบเขตของระบบ / ซอฟต์แวร์ที่คุณกำลังสร้างอยู่เสมอ อย่างไรก็ตามนักแสดงมีปฏิสัมพันธ์โดยตรงกับวัตถุของบางคลาสโดยการเริ่มต้นการโทรสแต็ค ดังนั้นเขาจึงเป็นส่วนหนึ่งของระบบ (เขาเป็นตัวแทนของคลาสอื่นโดยพลการจากเลเยอร์ UI ที่น่าจะไม่ได้เป็นแบบจำลองโดยแผนภาพคลาส) สิ่งนี้ดูเหมือนจะขัดกับความเป็นจริงในตอนแรกและอาจเป็นที่มาของความสับสนสำหรับบางคน
dvdblk

นักแสดงเป็นนิติบุคคลที่แยกจากกัน นักแสดงมีอยู่แม้ว่าระบบไม่ได้ นักแสดงเริ่มต้น, ปิดและยังให้อินพุตกับระบบ แต่ไม่ได้นั่งอยู่ในระบบซอฟต์แวร์เพื่อทำงานใด ๆ ของระบบ ระบบทำงานเป็นอิสระจากนักแสดง วัตถุสามารถจำลองนักแสดงในโลกแห่งความจริง แต่ก็ยังขึ้นอยู่กับนักแสดงมนุษย์ในการเริ่มต้นออกและป้อนข้อมูลโดยตรงหรือโดยอ้อม
user2994783
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.