ฉันได้อ่านนิดหน่อยเกี่ยวกับนางแบบนักแสดง แต่ไม่เข้าใจวิธีใช้นักแสดงในสถานการณ์โลกแห่งความจริง - จะทำตัวแบบปัญหากับพวกเขาได้อย่างไร
ใครช่วยอธิบายหน่อยได้ไหม? ตัวอย่างง่ายๆหรือลิงค์ไปยังตัวอย่างจะได้รับการชื่นชมมาก
ฉันได้อ่านนิดหน่อยเกี่ยวกับนางแบบนักแสดง แต่ไม่เข้าใจวิธีใช้นักแสดงในสถานการณ์โลกแห่งความจริง - จะทำตัวแบบปัญหากับพวกเขาได้อย่างไร
ใครช่วยอธิบายหน่อยได้ไหม? ตัวอย่างง่ายๆหรือลิงค์ไปยังตัวอย่างจะได้รับการชื่นชมมาก
คำตอบ:
นักแสดงในแง่ของการสร้างแบบจำลองการกระทำกับข้อความ ฯลฯ เป็นวิธีการสร้างแบบจำลองซอฟต์แวร์ที่มีสองรายการที่มีประโยชน์ ...
นักแสดงสามารถอาศัยอยู่บนเธรดเดียวทำให้การดำเนินการแบบไม่ปลอดภัย / ไม่พร้อมกันเกิดขึ้นโดยไม่ต้องใช้เวทมนต์ล็อค นักแสดงจะตอบกลับข้อความในกล่องจดหมาย เมื่อคุณต้องการให้มันประมวลผลคำสั่งคุณจะส่งข้อความและมันจะดูแลพวกมันตามลำดับที่ได้รับ เหมือนคิวปกติ เธรดที่ปลอดภัยคือนักฆ่าที่นี่และฉันใช้สิ่งนี้ในโครงการโอเพนซอร์สจำนวนหนึ่งที่ฉันทำงาน
ในบางภาษา Scala ยกตัวอย่างเช่นมันง่ายที่จะเปลี่ยนรหัสตามตัวละครในกระบวนการเดียวให้เป็นระบบกระจายโดยแยกตัวนักแสดงออกและเปลี่ยนช่องทางที่พวกเขาสื่อสารไปสู่ช่องทางระยะไกล การเปลี่ยนแปลงระหว่างการใช้งานกับความง่าย แต่เป็นคุณสมบัติที่ยอดเยี่ยม
ช่วยเน้นกิจกรรมตามภารกิจแทนเหตุการณ์ CRUD CRUD นั้นง่าย แต่ก็เหมือนกับการโต้ตอบกับตู้เก็บเอกสาร หากเราสามารถให้คุณค่ามากกว่านั้นในซอฟต์แวร์ที่เราผลิตเราจะทำมันทำไม การผูกหลายการกระทำลงในคำสั่ง "อัปเดต" เดียวในระบบที่ทำงานตามภารกิจนั้นมีประโยชน์มากกว่าการบันทึกลงในฐานข้อมูล สิ่งนี้จะกลายเป็นสิ่งต่างๆเช่น CQRS
คำตอบของเทรวิสนั้นมั่นคง เมื่อคุณเริ่มพูดคุยเกี่ยวกับการทำงานพร้อมกันคุณกำลังพยายามแก้ไขปัญหาทรัพยากร การเห็นพ้องด้วยเธรดและล็อกค่อนข้างง่ายที่จะทำผิด โมเดลนักแสดงช่วยบังคับให้คุณตั้งโปรแกรมส่วนรหัสของคุณพร้อมกันในฐานะนักเก็ตที่มีอยู่ในตัวเองซึ่งสามารถทำงานในแบบคู่ขนานและไม่ขึ้นอยู่กับโค้ดอีกชิ้น คุณกำลังพยายามหลีกเลี่ยงความไม่เหมาะสมเช่นสภาพการแข่งขันและการหยุดชะงัก
นักแสดงเป็นเหมือนคุณและฉันในบทสนทนานี้ คุณไม่สามารถเข้าถึงสมองของฉันและเลือกสิ่งที่ฉันพิมพ์ คุณผ่านฉันข้อความว่า "ทำไมเราถึงมีอยู่?" ฉันนั่งและกระทืบตัวเลขและส่งคำตอบว่า "ฉันคิดว่าฉันเป็นอย่างนั้น" คุณไม่สามารถบอกได้ว่าฉันทำอะไรกับชิ้นส่วนของดาวเคราะห์โลกการติดต่อเพียงอย่างเดียวที่คุณมีกับฉันคือผ่านข้อความที่เราผ่านไปมา
แก้ไข:
คุณไม่ได้พูดภาษาที่คุณคุ้นเคย แต่ดูว่ามีนักแสดงในภาษาของคุณหรือไม่ บางทีที่ง่ายที่สุดน่าจะเป็น libs นักแสดงบางคนในหลาม แต่อาจจะดีกว่าสำหรับการเรียนรู้ก็คือ Erlang ภาษาค่อนข้างหยาบ แต่เมื่อคุณได้รับความแตกต่างมันเป็นภาษาที่ดี
นักแสดงเป็นองค์ประกอบของไดอะแกรมกรณีการใช้งานที่แสดงถึงเอนทิตีภายนอกใด ๆ (ผู้ใช้ระบบภายนอก ฯลฯ ) ที่สามารถดำเนินการกับระบบ กรณีการใช้งานขั้นพื้นฐานใด ๆ จะมีนักแสดง - เพียงแค่ Google "ใช้กรณี" เพื่อเป็นตัวอย่างมากมาย