UML ช่วยให้การแสดงตรรกะภายในของโปรแกรมง่ายขึ้น
"Unified Modeling Language" หรือ UML เป็นภาษาที่ออกแบบมาเพื่อแสดงวิธีการจัดระเบียบซอฟต์แวร์ วิศวกรสามารถใช้ UML เพื่อสร้างไดอะแกรมการไหลของข้อมูลในโปรแกรม ทำให้พวกเขาเข้าใจได้ดีขึ้นว่าจะลดความซับซ้อนหรือเปลี่ยนแปลงข้อมูลได้อย่างไร เมื่อสร้างแบบจำลองการไหลของข้อมูล UML จะแยกความแตกต่างระหว่าง "วัตถุที่ทำงานอยู่" ที่สามารถเริ่มต้นโฟลว์นั้น และ "วัตถุแบบพาสซีฟ" ที่ไม่สามารถทำได้
วัตถุและคลาส
เมื่อพูดถึงการเขียนโปรแกรมที่เรียกว่า "เชิงวัตถุ" วิทยาการคอมพิวเตอร์จะแยกความแตกต่างระหว่าง "วัตถุ" และ "ชั้นเรียน" คลาสคือ a คำอธิบายทั่วไปของชุดของสิ่งต่างๆ เช่น ตัวแปรหรือเมธอด โดยที่ "อ็อบเจกต์" เป็น "ตัวอย่าง" ของคลาสนั้น โดยมีลักษณะเฉพาะของตัวเอง คุณสมบัติ. คิดว่าชั้นเรียนเป็นแบบพิมพ์เขียวหรือเทมเพลต ในโลกทางกายภาพ "อุปกรณ์การเขียน" อาจถือเป็นคลาส โดยมีตัวอย่าง "ปากกา" หรือ "ดินสอสีส้ม" ของ "วัตถุ" ของประเภทชั้นเรียนนั้นๆ
วิดีโอประจำวันนี้
ออบเจ็กต์ใน UML
UML รักษาความแตกต่างที่คล้ายคลึงกันระหว่างคลาสและอ็อบเจ็กต์ และแสดงในลักษณะเดียวกัน คลาส UML มีคำอธิบายกว้างๆ และอ็อบเจ็กต์ UML มีค่าเฉพาะที่แสดงถึงอินสแตนซ์ของคำอธิบายเหล่านั้น พูดอย่างเป็นทางการ ดังนั้น "วัตถุที่ใช้งานอยู่" ใน UML จึงเป็นอินสแตนซ์ใดๆ ของ "คลาสที่ใช้งาน" และในทำนองเดียวกัน "แบบพาสซีฟ วัตถุ" เป็นตัวอย่างของ "คลาสแบบพาสซีฟ"—ในแง่ทฤษฎี คุณสามารถพิจารณาเงื่อนไขเหล่านี้โดยพื้นฐานแล้ว ใช้แทนกันได้
วัตถุที่ใช้งาน
ใน UML คลาสแอ็คทีฟและออบเจ็กต์แอ็คทีฟจะมีอยู่ในเธรดการดำเนินการของตนเองและมีพื้นที่ที่อยู่ของตนเอง หากพิจารณาถึงการดำเนินการหรือกิจกรรมโค้ดในแง่ของโฟลว์ ออบเจกต์ที่ทำงานอยู่สามารถเริ่มหรือควบคุมโฟลว์นั้นได้ ออบเจ็กต์ที่ทำงานอยู่นั้น เป็นไปตามลำดับและทำบางสิ่ง เช่น แก้ไขตัวแปร เปลี่ยนพฤติกรรมของโปรแกรม และอื่นๆ ใน UML คลาสและอ็อบเจ็กต์ที่แอ็คทีฟจะแยกแยะได้โดยมีเส้นขอบที่หนากว่าออบเจกต์แบบพาสซีฟ
วัตถุแบบพาสซีฟ
วัตถุแบบพาสซีฟใน UML โดยทั่วไปไม่มีความสามารถในการแก้ไขหรือเริ่มโฟลว์ของการดำเนินการ เพราะพวกเขาต้องรอให้อ็อบเจ็กต์อื่นเรียกพวกมัน โดยทั่วไปแล้วจะใช้ออบเจ็กต์แบบพาสซีฟเพื่อจัดเก็บข้อมูล และในหลายกรณี ข้อมูลนี้อาจถูกแชร์ระหว่างออบเจ็กต์อื่นๆ หลายรายการ ซึ่งอาจอนุญาตให้เข้าถึงวัตถุแบบพาสซีฟได้พร้อมกัน ไม่ใช่ตามลำดับ เพื่อให้แน่ใจว่าข้อมูลภายในมีความสมบูรณ์สูง UML อนุญาตให้วัตถุแบบพาสซีฟยืนยันว่ามีการเข้าถึงตามลำดับ ถ้าสองเธรดพยายามเรียกวัตถุแฝงที่เรียงลำดับกัน วัตถุนั้นสามารถหน่วงเวลาเธรดที่สองจนกว่าเธรดแรกจะเสร็จสิ้น