public class VividFilter: IFilter
public void Apply(Image image)
Console.WriteLine("Vivid Filter");
public void Render(Image image)
public class CaramelFilter: IFilter
public CaramelFilter(Caramel caramel)
public void Apply(Image image)
Console.WriteLine("Caramel Filter");
public ImageView(Image image)
public void Apply(IFilter filter)
public static void Main()
var imageView = new ImageView(new Image());
imageView.Apply(new VividFilter());
imageView.Apply(new CaramelFilter(new Caramel()));