Здравствуйте. У меня есть 3 способа ввода (рандомный по возрастанию, по спаданию и просто рандомный), как мне сделать, чтобы я мог выбирать между этими способами. Если можно, покажите кодом или хотя-бы псевдокодом.
Накатал простейший вариант.
Сначала определим метод ввода
interface IEntryMethod
{
int Read();
}
Потом напишем клиента
class Client
{
IEntryMethod _entryMethod;
public Client(IEntryMethod entryMethod)
{
_entryMethod = entryMethod;
}
public void DoStuff()
{
for (var i = 0; i < 3; i++)
{
var item = _entryMethod.Read();
Console.WriteLine(item);
}
}
}
Дальше добавим парочку методов ввода
class RandomEntryMethod : IEntryMethod
{
static Random rand = new Random();
public int Read()
{
return rand.Next();
}
}
class ConsoleEntryMethod : IEntryMethod
{
public int Read()
{
return int.Parse(Console.ReadLine());
}
}
Ну, и как все это юзать
void Main()
{
Console.WriteLine("Select entry method (random/console):");
IEntryMethod method;
switch (Console.ReadLine())
{
case "random":
method = new RandomEntryMethod();
break;
case "console":
method = new ConsoleEntryMethod();
break;
default:
Console.WriteLine("Error");
return;
}
var client = new Client(method);
client.DoStuff();
}
Код на ошибки не проверял, смотрите на него как на концепт
Современные инструменты для криптотрейдинга: как технологии помогают принимать решения
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости