Hej,
mam problem ze zrozumieniem treści zadania i szukam podpowiedzi, a nie osoby, która rozwiąże za mnie zadanie.
Poniżej treść i kod.
Zmień kod tak aby poprawnie wstrzykiwana byla zaleznosc ktora nie bedzie na sztywno powiazana ze StringRepository tylko bedzie korzystala z odpowiedniej formy abstrakcji.
using System;
using System.Collections.Generic;
using System.Text;
namespace ConsoleApp4
{
class DIExcercise
{
static void Main(string[] args)
{
var processor = new StringProcessor(new StringRepository());
processor.GenerateData();
processor.DisplayAllStrings();
}
}
class StringProcessor
{
private readonly StringRepository stringRepository;
public StringProcessor(StringRepository stringRepository)
{
this.stringRepository = stringRepository;
}
public void GenerateData()
{
stringRepository.AddString("Foo");
stringRepository.AddString("Bar");
stringRepository.AddString("Nada");
stringRepository.RemoveString("Foo");
}
public void DisplayAllStrings()
{
foreach(var s in stringRepository.GetStrings())
{
Console.WriteLine(s);
}
}
}
class StringRepository
{
private List<string> strings = new List<string>();
public void AddString(string s)
{
strings.Add(s);
}
public string[] GetStrings()
{
return strings.ToArray();
}
public void RemoveString(string s)
{
strings.Remove(s);
}
}
}