หากคุณเพิ่มตัวเลือกการกำหนดค่าใหม่ให้กับโปรแกรมมันมักจะมีเอฟเฟ็กต์ระลอกคลื่นจำนวนมากในแง่ของการรับตัวเลือกไปยังตำแหน่งที่จำเป็นต้องดำเนินการ มีสามวิธีพื้นฐานในการจัดการกับสิ่งนี้ที่ฉันรู้:
ส่งการตั้งค่าทั้งหมดไปยังส่วนต่าง ๆ ของโปรแกรมของคุณที่ต้องการการตั้งค่าพื้นฐาน นี่คือวิธีที่ชัดเจนที่สุดและวิธีที่แยกสิ่งต่าง ๆ ออกมามากที่สุด ข้อเสียคือว่านี่เป็นทั้ง verbose และเปราะ
ทำให้การตั้งค่าการกำหนดค่าที่ใช้บ่อยที่สุดคือ global / static นี่เป็นวิธีที่ง่ายที่สุด แต่แนะนำให้ดำเนินการในระยะไกลเป็นอุปสรรคต่อการทดสอบและถือว่าการกำหนดค่านั้นเป็นระดับโลกอย่างแท้จริง (ซึ่งคุณต้องการเพียงหนึ่งการกำหนดค่าในเวลาที่กำหนด)
สร้างคลาสการกำหนดค่า / โครงสร้างที่มีตัวเลือกการกำหนดค่าทั้งหมดสำหรับโปรแกรมทั้งหมดหรือสำหรับข้อกังวลหลัก ๆ ภายในโปรแกรมจากนั้นส่งผ่านสิ่งนี้อย่างชัดเจน สิ่งนี้ชัดเจนน้อยกว่า (1) แต่ชัดเจนกว่า (2) หากคุณต้องการเปลี่ยนการตั้งค่าสำหรับการเรียกใช้ฟังก์ชั่นเดียวคุณสามารถโคลนวัตถุกำหนดค่าและเปลี่ยนค่านี้ได้ สิ่งนี้มีประโยชน์ทั้งในการทดสอบและในทางปฏิบัติ อย่างไรก็ตามคุณยังคงสามารถส่งข้อมูลจำนวนมากไปยังฟังก์ชั่นที่ไม่ต้องการและเปลี่ยนค่าในคลาส / โครงสร้าง config ยังสามารถทำให้เกิดการกระทำที่ระยะไกล
คุณจะพิจารณา (3) รูปแบบหรือรูปแบบการต่อต้านหรือไม่? หากเป็นรูปแบบการต่อต้านคุณจะทำอย่างไรแทน