public static void Main()
Console.WriteLine("Hello World");
AuditTrail.Context = new FooAuditTrailWriter();
AuditTrail.Write("someData", new byte[10]);
public static class AuditTrail
private static IAuditTrailWriter _context;
public static IAuditTrailWriter Context
_context = new MessageQueueAuditTrailWriter();
public static void Write(string dest, byte[] data)
Context.Write(dest, data);
public interface IAuditTrailWriter
void Write(string url, byte[] data);
public class MessageQueueAuditTrailWriter : IAuditTrailWriter
public void Write(string dest, byte[] data)
public class FooAuditTrailWriter : IAuditTrailWriter
public void Write(string dest, byte[] data)