ดังนั้นฉันจึงคิดว่าชั้นหินใหญ่ของฉันจะมีเวลามากแค่ไหน ตัวอย่างเช่นในวิธีการCharacter
ของชั้นเรียนJump
หนึ่งอาจมีการอ้างอิงไปยังวัตถุที่มีผลกระทบเสียงและเล่นที่ โดยตัวมันเองนั้นดี แต่เมื่อคำนึงถึงฟิสิกส์การเคลื่อนไหวการชน ฯลฯ วิธีการกระโดดนั้นมีขนาดใหญ่มากและCharacter
ชั้นเรียนมีการพึ่งพาสิ่งต่างๆมากมาย ถึงกระนั้นนี่อาจจะใช้ได้ อย่างไรก็ตามถ้าหากเราไม่ต้องการให้เสียงเล่นอีกต่อไปเมื่อตัวละครกระโดด ตอนนี้เราต้องค้นหาบรรทัดของรหัสที่ระบุในระเบียบที่ยุ่งเหยิงของJump
รหัสและแสดงความคิดเห็นหรืออะไรก็ตาม
ดังนั้น .. ฉันกำลังคิด ..
จะเกิดอะไรขึ้นถ้ามีAudioSystem
คลาสบางประเภทและทั้งหมดนี้คือการสมัครรับกิจกรรมแบบสุ่มที่สนใจในคลาสอื่น ๆ ตัวอย่างเช่นCharacter
คลาสอาจมีJumped
เหตุการณ์ (คงที่ด้วยฉันคิดว่า) ที่ยกขึ้นภายในCharacter
ชั้นเรียนในวิธีการ จากนั้นCharacter
ชั้นเรียนก็จะไม่รู้อะไรเกี่ยวกับเอฟเฟกต์เสียงเล็กน้อยที่เล่นเมื่อตัวละครกระโดด AudioSystem
ก็จะเป็นชั้นขนาดใหญ่ที่โปรแกรมเมอร์ที่จะล่าถอยไปที่จะขอขึ้นผลกระทบเสียงกับเหตุการณ์บางอย่างที่เกิดขึ้นในเกมที่ผ่านการใช้เหตุการณ์ที่เกิดขึ้นคง แล้วถ้ามันมีขนาดใหญ่เกินไปก็อาจจะแยกออกจากกันใน subclasses เช่นEffectsAudioSystem
, BackgroundAudioSystem
, AmbientAudioSystem
และอื่น ๆ
จากนั้นในตัวเลือกสำหรับเกมหนึ่งสามารถมีช่องทำเครื่องหมายเพื่อเปิดใช้งานหรือปิดการใช้งานเสียงเหล่านี้และสิ่งที่จะต้องทำคือการปิดการใช้งานระบบที่มีธงบูลีนที่เรียบง่ายและเดียว ความคิดเกี่ยวกับระบบนี้สามารถขยายไปสู่สิ่งต่าง ๆ เช่นฟิสิกส์ภาพเคลื่อนไหวและอื่น ๆ จนถึงจุดที่เกมส่วนใหญ่ตอบสนองจากการกระทำของผู้เล่นถูกเชื่อมโยงผ่านระบบที่ซับซ้อนและแยกชิ้นส่วนเหล่านี้
ตกลงดังนั้นคำถามของฉันอาจคลุมเครือเล็กน้อย แต่สิ่งที่เสียงแบบนี้? ฉันไม่เคยได้ยินเกี่ยวกับระบบแบบนี้มาก่อนเลย ทั้งหมดนี้อยู่ในหัวของฉันตอนนี้โดยไม่ต้องมีการเข้ารหัสใด ๆ ดังนั้นบางทีมันอาจเป็นหนึ่งใน "ข้อตกลงที่ดีในทางทฤษฎี แต่ไม่ใช่ในทางปฏิบัติ" ระบบประเภทนี้จะทำงานกับเกมที่มีขนาดใหญ่กว่าหรือในที่สุดมันจะพังและกลายเป็นระเบียบมากกว่าเดิม