public interface IReplica {
public interface ITopologyProvider {
IReplica[] GetTopology(string name);
public interface ITopologyConfiguration {
ITopologyConfiguration Add(string name, ITopologyProvider provider);
ITopologyConfiguration Remove(string name);
public static class TopologyFactory {
public static ITopologyProvider Create(Action<ITopologyConfiguration> configuration) {
public static void Main()
Console.WriteLine("Hello World");