Monday, April 6, 2015

Motivation of Pattern

As a case, consider a window in a windowing framework mallory live shop. To permit looking of the window's substance, one may wish to add level or vertical scrollbars to it, as proper. Accept windows are spoken to by occurrences of the Window class, and expect this class has no usefulness for including scrollbars. One could make a subclass ScrollingWindow that gives them, or make a ScrollingWindowDecorator that adds this usefulness to existing Window objects. As of right now, either arrangement would be fine.

Presently, expect one likewise craves the capacity to add outskirts to windows. Once more, the first Window class has no backing. The ScrollingWindow subclass now represents an issue, on the grounds that it has viably made another sort of window. In the event that one wishes to add fringe backing to numerous yet not all windows, one must make subclasses WindowWithBorder and ScrollingWindowWithBorder and so forth. This issue deteriorates with each new highlight or window subtype to be included. For the decorator arrangement, we just make another toko kristik online.

 BorderedWindowDecorator—at runtime, we can enhance existing windows with the ScrollingWindowDecorator or the BorderedWindowDecorator or both, as we see fit. Notice that if the usefulness needs to be added to all Windows, you could change the base class of and that will do. Then again, at times (e.g., utilizing outer structures) it is unrealistic, legitimate, or helpful to change the base class.

Note, in the past sample, that the "SimpleWindow" and "WindowDecorator" classes actualize the "Window" interface, which characterizes the "draw()" technique and the "getDescription()" strategy, that are needed in this situation, to design a window control.

No comments:

Post a Comment