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

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

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) …

8
มีกระบวนทัศน์การเขียนโปรแกรมที่ส่งเสริมการอ้างอิงอย่างชัดเจนกับโปรแกรมเมอร์อื่น ๆ หรือไม่
ฉันทำงานใน Data Warehouse ที่มาหลายระบบผ่านสตรีมและเลเยอร์จำนวนมากที่มีการพึ่งพาเหมือนเขาวงกตที่เชื่อมโยงสิ่งประดิษฐ์ต่างๆ สวยมากทุกวันที่ฉันเจอสถานการณ์เช่นนี้: ฉันทำงานอะไรบางอย่างมันใช้งานไม่ได้ฉันต้องใช้รหัสมากมาย แต่หลังจากนั้นฉันก็รู้ว่าฉันสามารถจัดการกับแผนที่กระบวนการในส่วนเล็ก ๆ ของสิ่งที่ฉันรู้ ในภายหลังจำเป็นต้องใช้วันดังนั้นฉันถามใครบางคนและพวกเขาบอกฉันว่ากระแสอื่น ๆ นี้จะต้องทำงานก่อนและถ้าฉันตรวจสอบที่นี่ (ระบุบางส่วนโดยพลการของรหัสอ้างอิงขนาดใหญ่อื่น ๆ ) แล้วฉันจะมี เห็นสิ่งนี้ มันน่าผิดหวังอย่างไม่น่าเชื่อ ถ้าฉันสามารถแนะนำทีมว่าบางทีมันอาจเป็นความคิดที่ดีถ้าเราทำมากกว่านั้นเพื่อให้การพึ่งพาระหว่างวัตถุที่มองเห็นและชัดเจนมากกว่าที่จะฝังลึกลงไปในระดับรหัสซ้ำหรือแม้แต่ในข้อมูลที่ ต้องมีการปรากฏตัวเนื่องจากมันถูกบรรจุโดยสตรีมอื่นบางทีอาจหมายถึงกระบวนทัศน์ซอฟต์แวร์ที่เป็นที่รู้จักลองและทดสอบแล้ว - ฉันอาจจะทำให้งานของฉันและคนอื่น ๆ ง่ายขึ้นมาก เป็นการยากที่จะอธิบายถึงประโยชน์ของสิ่งนี้กับทีมของฉัน พวกเขามักจะยอมรับสิ่งต่าง ๆ อย่างที่เป็นอยู่และไม่ 'คิดใหญ่' ในแง่ของการเห็นประโยชน์ของความสามารถในการกำหนดแนวคิดของทั้งระบบในรูปแบบใหม่ - พวกเขาไม่เห็นจริง ๆ ว่าถ้าคุณสามารถสร้างแบบจำลองระบบใหญ่ อย่างมีประสิทธิภาพจากนั้นจะทำให้มีโอกาสน้อยลงที่คุณจะพบกับความไม่มีประสิทธิภาพของหน่วยความจำการ จำกัด การสตรีมแบบ จำกัด และคีย์ที่ซ้ำกันข้อมูลไร้สาระเพราะมันง่ายต่อการออกแบบตามวิสัยทัศน์ดั้งเดิมและคุณจะไม่เจอปัญหาเหล่านี้ ตอนนี้เรากำลังประสบซึ่งฉันรู้ว่าผิดปกติจากงานที่ผ่านมา แต่ที่พวกเขาดูเหมือนจะคิดว่าหลีกเลี่ยงไม่ได้ ดังนั้นใครบ้างที่รู้ถึงกระบวนทัศน์ของซอฟต์แวร์ที่เน้นการพึ่งพาและส่งเสริมรูปแบบแนวคิดทั่วไปของระบบที่มีมุมมองในการสร้างความมั่นใจในการยึดมั่นในระยะยาวกับอุดมคติ ในขณะที่เรามีระเบียบขนาดใหญ่และวิธีแก้ปัญหาทุกการวิ่งดูเหมือนจะ "เพียงแค่เพิ่มสิ่งนี้ที่นี่และที่นี่และที่นี่" และฉันเป็นคนเดียวที่กังวลว่าสิ่งต่าง ๆ จะเริ่มสลาย

4
คุณเข้าใกล้ความขัดแย้งในการพึ่งพาสกรรมกริยาที่เป็นที่รู้จักกันเฉพาะในเวลาทำงานอย่างไร [ปิด]
ปิด คำถามนี้จะต้องมีมากขึ้นมุ่งเน้น ไม่ยอมรับคำตอบในขณะนี้ ต้องการปรับปรุงคำถามนี้หรือไม่ อัปเดตคำถามเพื่อให้มุ่งเน้นที่ปัญหาเดียวโดยแก้ไขโพสต์นี้ ปิดให้บริการใน4 ปีที่แล้ว ปกติคุณจะเข้าถึงปัญหาการพึ่งพาสกรรมกริยาที่เกิดขึ้นในขณะใช้งานในโครงการซอฟต์แวร์ขนาดใหญ่ได้อย่างไร ในช่วงสามสัปดาห์ที่ผ่านมาฉันพยายามเริ่มส่วนประกอบของซอฟต์แวร์ชิ้นใหญ่ภายในส่วนประกอบอื่นของซอฟต์แวร์ แต่เป็นระยะ ๆ จะตายเนื่องจากปัญหาการพึ่งพาสกรรมกริยาซึ่งเป็นที่รู้จักกันในเวลาทำงานเท่านั้น โดยปัญหาการพึ่งพาสกรรมกริยาฉันหมายความว่าการอ้างอิงบางอย่างของการอ้างอิงของโครงการที่กำหนดชนกับการพึ่งพาอื่น ๆ ในเวลาทำงานทำให้เกิดความไม่แน่นอนหรือความล้มเหลวทันที มีหลายร้อยคนต่อการใช้งานหลายร้อยคนและมีโครงการย่อยประมาณ 50 โครงการที่เชื่อมโยงกับเครื่องมือที่ทำงานแยกจากทีมอื่น ๆ โดยที่โมดูลทั้งหมดมีการพึ่งพาซ้อนกันระหว่างกันอย่างลึกซึ้ง ไม่มีใครรู้ว่าโครงการย่อยทั้งหมดจะถูกใช้เพื่อกำหนดขนาดและความซับซ้อนของโครงการ ในสถานการณ์นี้คุณจะพยายามสร้างการแสดงภาพของ DAG สำหรับแต่ละการพึ่งพาของส่วนประกอบที่ได้รับผลกระทบและพยายามกำหนดตำแหน่งที่อาจเกิดการชนในเวลาทำงานหรือไม่ ฉันไม่สามารถควบคุมวิธีการจัดการการพึ่งพาในโครงการย่อยอื่น ๆ และไม่สามารถเปลี่ยนรหัส Java ใด ๆ ที่เขียนโดยนักพัฒนาอื่น ๆ วิธีแก้ปัญหาที่ฉันเกิดขึ้นกับการทำงานเพียงหนึ่งชั่วโมงหรือสองชั่วโมงจากนั้นพวกเขาก็หยุดทำงานเนื่องจากการเปลี่ยนแปลงส่วนประกอบต้นน้ำ ตัวอย่างขององค์ประกอบต้นน้ำคือสิ่งประดิษฐ์ที่โครงการที่ฉันกำลังทำงานนั้นขึ้นอยู่กับสิ่งที่ถูกสร้างขึ้นในขั้นตอนก่อนหน้านี้ใน CI ไปป์ไลน์ ตามคำขอของผู้อื่นฉันจะรวมข้อมูลเกี่ยวกับเทคโนโลยีที่ใช้อยู่ในความเสี่ยงที่จะต้องปิดคำถามเพื่อให้ข้อมูลมากเกินไปหรือร่างกายมีความยาวมากเกินไป: Maven ใช้สำหรับการจัดการการพึ่งพา และ สปริงใช้เป็นภาชนะ DI ส่วนใหญ่ของปัญหาการพึ่งพาเกี่ยวข้องกับบริบทถั่วที่ทับซ้อนกันเป็นผลมาจากบริบทของโมดูลอื่น ๆ ที่ถูกโหลดในเวลาทำงาน ผลิตภัณฑ์ทำงานอย่างถูกต้องและมี smorgasbords ของการทดสอบหน่วยและการทดสอบการรวมเพื่อหลีกเลี่ยงความถูกต้องการทำงานของโปรแกรม โดยทั่วไปฉันกำลังมองหาวิธีใช้ภาษาที่ไม่เชื่อเรื่องพระเจ้าในการระบุวิธีการแก้ไขความขัดแย้งในการพึ่งพาโดยไม่ต้องระบุถึงการรวมกันที่เป็นไปได้ทั้งหมดของการขึ้นต่อกันของโครงการ ฉันไม่สามารถสร้างโครงการใหม่เพิ่มประตูคุณภาพเพิ่มเติมผลักดันกระบวนทัศน์ใน …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.