using System;
public class Program
{
public static void Main()
// after pattern
NotificationService service = new NotificationService();
service.Send("eh up", "");
// before the pattern is applied
var server = new NotificationServer();
var conn = server.Connect("MYIP");
var token = server.Authenticate("APPID", "APPKEY");
var message = new Message("eh up");
server.Send(token, message, "ATARGET");
conn.Disconnect();
}
public class NotificationService
public void Send(string message, string target)
server.Send(token, new Message(message), target);
public class NotificationServer
public Connection Connect(string ipAddress)
return new Connection();
public AuthToken Authenticate(string appID, string key)
return new AuthToken();
public void Send(AuthToken token, Message message, string target)
Console.WriteLine("Sending a message");
public class Connection
public void Connect()
public void Disconnect()
public class AuthToken
public class Message
private string _content;
public Message(string content)
_content = content;