Oto co mam do tej pory:Jak używać wzorca strategii za pomocą C#?
namespace Strategy
{
interface IWeaponBehavior
{
void UseWeapon();
}
}
namespace Strategy
{
class Knife : IWeaponBehavior
{
public void UseWeapon()
{
Console.WriteLine("You used the knife to slash the enemy! SLASH SLASH!");
}
}
}
namespace Strategy
{
class Pan : IWeaponBehavior
{
public void UseWeapon()
{
Console.WriteLine("You use the pan! 100% Adamantium power! BONG!");
}
}
}
Teraz jeśli mam superklasę Character.cs. w jaki sposób ta superklasa może zaimplementować broń, dzięki czemu zajęcia dla dzieci mogą być bardziej szczegółowe.
namespace Strategy
{
class Character
{
public IWeaponBehavior weapon;
public Character(IWeaponBehavior specificWeapon)
{
weapon = specificWeapon;
}
}
}
namespace Strategy
{
class Thief : Character
{
}
}
Jak mogę to wdrożyć? Jestem bardzo zdezorientowany tym, jaki powinien być rzeczywisty kod.
Wiem, że to może wymagać zbyt wiele, ale jeśli mógłbyś napisać właściwy kod, abym mógł go studiować, byłoby to bardzo miłe z twojej strony. Uczę się, widząc kod. : P Wiele osób mogłoby skorzystać z tego pytania.
"SLASH SLASH!" zasady części :) – thelost
W zależności od innych cech charakterystycznych 'Character' możesz być w stanie usunąć odziedziczone klasy i użyć fabryki, która skonfiguruje potrzebne cechy i strategie. –