คำแนะนำของฉัน (ตามลำดับความต้องการที่ลดลง):
1) ไม่ทำมัน สร้างค่าคงที่ในคลาสจริงที่เกี่ยวข้องมากที่สุด การมีคลาส / อินเทอร์เฟซ 'กระเป๋าค่าคงที่' ไม่ได้เป็นไปตามแนวทางปฏิบัติที่ดีที่สุดของ OO
ฉันและคนอื่น ๆ ไม่สนใจ # 1 เป็นครั้งคราว หากคุณกำลังจะทำเช่นนั้น:
2) คลาสสุดท้ายที่มีตัวสร้างส่วนตัวอย่างน้อยที่สุดก็จะป้องกันไม่ให้ใครใช้ 'ถุงค่าคงที่' ของคุณในทางที่ผิดโดยการขยาย / ใช้งานเพื่อให้เข้าถึงค่าคงที่ได้ง่าย (ฉันรู้ว่าคุณบอกว่าจะไม่ทำแบบนี้ - แต่นั่นไม่ได้หมายความว่าจะมีคนมาตามหลังคุณจะไม่ทำ)
3) อินเทอร์เฟซสิ่งนี้จะใช้งานได้ แต่ไม่ใช่การตั้งค่าของฉันที่ให้กล่าวถึงการละเมิดที่เป็นไปได้ใน # 2
โดยทั่วไปเพียงเพราะสิ่งเหล่านี้เป็นค่าคงที่ไม่ได้หมายความว่าคุณไม่ควรใช้หลักการ oo ปกติกับพวกเขา ถ้าไม่มีใครสนใจค่าคงที่ แต่ชั้นเรียนควรเป็นแบบส่วนตัวและในชั้นเรียนนั้น หากเฉพาะการทดสอบดูแลเกี่ยวกับค่าคงที่ - ควรอยู่ในคลาสทดสอบไม่ใช่รหัสการผลิต หากมีการกำหนดค่าคงที่ในหลายตำแหน่ง (ไม่ใช่เพียงแค่ค่าเดียวกันโดยบังเอิญ) - refactor เพื่อกำจัดการทำซ้ำ และอื่น ๆ - ปฏิบัติต่อพวกเขาเหมือนที่คุณทำ