กลับไปหน้าบทความ

อ่าน 1 นาที

การพึ่งพาแบบวงกลม

ในวิศวกรรมซอฟต์แวร์การพึ่งพาแบบวงกลม (หรือการพึ่งพาแบบวงจร ) คือความสัมพันธ์ระหว่างโมดูลสองโมดูลขึ้นไป ซึ่งต้องพึ่งพาซึ่งกันและกันโดยตรงหรือโดยอ้อมเพื่อให้ทำงานได้อย่างถูกต้อง...

การพึ่งพาแบบวงกลม

( เรียนรู้วิธีและเวลาในการลบข้อความนี้ )

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

ภาพรวม

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

ปัญหา

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

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

การพึ่งพาแบบวงกลมอาจทำให้เกิดการรั่วไหลของหน่วยความจำได้ โดยการป้องกันไม่ให้ ตัวเก็บขยะอัตโนมัติบางตัว(ที่ใช้การนับการอ้างอิง ) ปลดปล่อยวัตถุที่ไม่ได้ใช้งาน

สาเหตุและวิธีแก้ไข

ในการออกแบบซอฟต์แวร์ขนาดใหญ่มาก วิศวกรซอฟต์แวร์อาจสูญเสียบริบทและแนะนำการพึ่งพาแบบวงกลมโดยไม่ได้ตั้งใจ มีเครื่องมือในการวิเคราะห์ซอฟต์แวร์และค้นหาการพึ่งพาแบบวงกลมที่ไม่พึงประสงค์[ 3 ]

อาจเกิดการพึ่งพาแบบวงกลมได้เมื่อใช้ งานฟังก์ชัน เรียกกลับ (callback ) ซึ่งสามารถหลีกเลี่ยงได้โดยการใช้รูปแบบการออกแบบเช่นรูปแบบผู้สังเกตการณ์ (observer pattern )

ดูเพิ่มเติม

ดึงข้อมูลมาจาก " https://en.wikipedia.org/w/index.php?title=Circular_dependency&oldid=1303252600 "

สรุปเนื้อหา

ข้อมูลสำคัญจากบทความ

ข้อมูลสำคัญเกี่ยวกับ การพึ่งพาแบบวงกลม

ในวิศวกรรมซอฟต์แวร์การพึ่งพาแบบวงกลม (หรือการพึ่งพาแบบวงจร ) คือความสัมพันธ์ระหว่างโมดูลสองโมดูลขึ้นไป ซึ่งต้องพึ่งพาซึ่งกันและกันโดยตรงหรือโดยอ้อมเพื่อให้ทำงานได้อย่างถูกต้อง...

ภาพรวม

การพึ่งพาแบบวงกลมเป็นเรื่องปกติใน แบบจำลองโดเมน หลายแบบ ที่วัตถุบางอย่างในโดเมนเดียวกันพึ่งพาซึ่งกันและกัน [ 1 ] อย่างไรก็ตาม ใน การออกแบบซอฟต์แวร์ การพึ่งพาแบบวงกลมระหว่างโมดูลซอฟต์แวร์ขนาดใหญ่ถือเป็น รูปแบบที่ไม่พึงประสงค์ เนื่องจากผลกระทบเชิงลบ [ 1 ]...

ปัญหา

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

สาเหตุและวิธีแก้ไข

ในการออกแบบซอฟต์แวร์ขนาดใหญ่มาก วิศวกรซอฟต์แวร์อาจสูญเสียบริบทและแนะนำการพึ่งพาแบบวงกลมโดยไม่ได้ตั้งใจ มีเครื่องมือในการวิเคราะห์ซอฟต์แวร์และค้นหาการพึ่งพาแบบวงกลมที่ไม่พึงประสงค์ [ 3 ]