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