คำถามติดแท็ก circular-dependency

3
วิธีการแก้ปัญหาการพึ่งพาแบบวงกลม?
ฉันมีสามคลาสที่เป็นแบบวงกลมขึ้นอยู่กับซึ่งกันและกัน: TestExecuter ดำเนินการตามคำขอของ TestScenario และบันทึกไฟล์รายงานโดยใช้คลาส ReportGenerator ดังนั้น: TestExecuter ขึ้นอยู่กับ ReportGenerator เพื่อสร้างรายงาน ReportGenerator ขึ้นอยู่กับ TestScenario และพารามิเตอร์ที่กำหนดจาก TestExecuter TestScenario ขึ้นอยู่กับ TestExecuter ไม่สามารถหาวิธีที่จะลบการอ้างอิงเหล่านั้นได้ public class TestExecuter { ReportGenerator reportGenerator; public void getReportGenerator() { reportGenerator = ReportGenerator.getInstance(); reportGenerator.setParams(this.params); /* this.params several parameters from TestExecuter class example this.owner */ } public void setTestScenario (TestScenario ts) …

5
วิธีการสร้างแบบจำลองการอ้างอิงแบบวงกลมระหว่างวัตถุที่ไม่เปลี่ยนรูปใน C #?
ในตัวอย่างโค้ดต่อไปนี้เรามีคลาสสำหรับวัตถุที่ไม่เปลี่ยนรูปซึ่งแสดงถึงห้อง ทิศเหนือทิศใต้ทิศตะวันออกและทิศตะวันตกเป็นตัวแทนออกไปสู่ห้องอื่น public sealed class Room { public Room(string name, Room northExit, Room southExit, Room eastExit, Room westExit) { this.Name = name; this.North = northExit; this.South = southExit; this.East = eastExit; this.West = westExit; } public string Name { get; } public Room North { get; } public Room South …

10
วิธีที่เหมาะสมในการจำลองกิจกรรมในโลกแห่งความเป็นจริงที่ดูเหมือนจะต้องการการอ้างอิงแบบวงกลมใน OOP
ฉันต่อสู้กับปัญหาในโครงการ Java เกี่ยวกับการอ้างอิงแบบวงกลม ฉันพยายามจำลองสถานการณ์ในโลกแห่งความเป็นจริงซึ่งดูเหมือนว่าวัตถุที่เป็นปัญหานั้นมีความเป็นอิสระและจำเป็นต้องรู้ซึ่งกันและกัน โครงการนี้เป็นรูปแบบทั่วไปของการเล่นเกมกระดาน คลาสพื้นฐานนั้นไม่ใช่แบบเฉพาะเจาะจง แต่ขยายออกไปเพื่อจัดการกับข้อมูลเฉพาะของหมากรุกแบ็คแกมมอนและเกมอื่น ๆ ฉันเขียนโค้ดนี้เป็นแอปเพล็ตเมื่อ 11 ปีที่แล้วกับเกมที่แตกต่างกันครึ่งโหล แต่ปัญหาคือมันเต็มไปด้วยการอ้างอิงแบบวงกลม ฉันนำมันกลับมาแล้วโดยการบรรจุคลาสที่เกี่ยวพันทั้งหมดไว้ในไฟล์ต้นฉบับเดียว แต่ฉันเข้าใจว่ามันเป็นรูปแบบที่ไม่ดีใน Java ตอนนี้ฉันต้องการใช้สิ่งที่คล้ายกันเป็นแอพ Android และฉันต้องการทำสิ่งที่ถูกต้อง ชั้นเรียนคือ: RuleBook: วัตถุที่สามารถสอบปากคำสำหรับสิ่งต่างๆเช่นเค้าโครงเริ่มต้นของคณะกรรมการข้อมูลเกมเริ่มต้นอื่น ๆ เช่นใครเป็นคนแรกที่ย้ายการเคลื่อนไหวที่มีอยู่สิ่งที่เกิดขึ้นกับรัฐเกมหลังจากการย้ายเสนอและการประเมินผลของ ตำแหน่งคณะกรรมการปัจจุบันหรือที่เสนอ บอร์ด: การแสดงบอร์ดเกมอย่างง่ายซึ่งสามารถสั่งให้สะท้อนการเคลื่อนไหวได้ MoveList: รายการ Moves นี่คือจุดประสงค์คู่: ตัวเลือกการเคลื่อนไหวที่มีให้ ณ จุดที่กำหนดหรือรายการการเคลื่อนไหวที่เกิดขึ้นในเกม มันอาจแบ่งออกเป็นสองคลาสใกล้เคียงกัน แต่นั่นไม่เกี่ยวข้องกับคำถามที่ฉันถามและอาจทำให้ซับซ้อนขึ้นอีก ย้าย: ย้ายเพียงครั้งเดียว มันรวมทุกอย่างเกี่ยวกับการเคลื่อนไหวเป็นรายการของอะตอม: หยิบชิ้นส่วนจากที่นี่วางไว้ที่นั่นเอาชิ้นส่วนที่ถูกจับออกจากที่นั่น สถานะ: ข้อมูลสถานะเต็มของเกมที่กำลังดำเนินการ ไม่เพียง แต่ตำแหน่ง Board เท่านั้น แต่เป็น MoveList และข้อมูลสถานะอื่น ๆ เช่นใครจะย้ายได้ …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.