static void Main(string[] args) { bool showBorder = true; if (showBorder) { _window = new BorderDecorator(new Window()); _textView = new BorderDecorator(new TestView()); } else { _textView = new TestView(); _window = new Window(); } _textView.Draw(); _window.Draw(); Component window = new Window(); window.Draw(); Component windowWithBorder = new BorderDecorator(new Window()); windowWithBorder.Draw(); Component textView = new BorderDecorator(new ColorDecorator(new TestView())); textView.Draw(); }
private static void Example() { IWindow originalWindow = new Window(); // notice how we're stacking decorators on top of each other WindowDecorator window = new SpecialBordersWindow(new ScrollableWindow(originalWindow)) { Title = "My Decorated Window", Color = Color.Green, Shape = "Star", Thickness = 2 }; window.Draw(); window.Title = "New Title"; Console.WriteLine(); originalWindow.Draw(); // notice how the new title is still in effect }
public virtual void Draw() { _windowToBeDecorated.Draw(); }