Factory Design Pattern: Battle Sim VR

📘 Scenario:

You're a new recruit entering a top-secret Virtual Reality military simulator used to train elite Special Forces. As you load in, the AI Drill Sergeant roars: “Soldier! You don’t bring your own weapons here. We equip you based on mission needs.” 🪖

The Weapon Assembly Console — powered by the GunFactory — takes care of everything. Just call out your desired weapon, and it equips you instantly with the perfect loadout for the mission.

Problem:

If each weapon creation had its own logic scattered throughout the system, it would lead to duplicate code, poor scalability, and high maintenance. Adding or modifying weapons would become a mess.

🏭 Factory Pattern Solution:

The GunFactory encapsulates weapon creation. It hides the construction details and provides a clean interface to generate any weapon dynamically. You just ask — the factory builds and delivers.

UML Diagram:

UML Diagram of Factory Pattern for Gun System

Output:

=== Weapon Test Firing ===
1️⃣ Firing Pistol:
̸̸̱͂ ̸͆̿͞ ̄̿̄͞ ̿̅͞ ̿̅͞ ̄̚

2️⃣ Firing Rifle:
▄︻デ╦═一━

3️⃣ Firing Shotgun:
⌐╦╦═─

4️⃣ Firing AK47:
▄︻╦芫≡══--

5️⃣ Firing Sniper Rifle:
︻╦̵̵̿╤━─

=== All weapons fired! ===
    
🔗 View Code on GitHub
[ Weapon Factory Ready ] Choose a weapon and fire.