public abstract class MessageService
public abstract string GetMessage();
public class UserInputService : MessageService
public override string GetMessage()
var input = Console.ReadLine();
public class SMSService : MessageService
public override string GetMessage()
Console.WriteLine("Operation is not supported");
throw new NotSupportedException();
public class FileService : MessageService
public override string GetMessage()
StreamReader m = File.OpenText(@"C:\temp\message.txt");
while ((s = m.ReadLine()) != null)