Tackling the content for this chapter was a challenge. The challenge wasn't due to any technical difficulties, bugs , or other problems. The challenges were in finding items not already covered by the .NET framework. No other interface framework has provided so much richness coupled with so much ease ”not even Java's Swing. For that reason, most of the patterns covered in this chapter center around the "plumbing" of a presentation space typically driven by the GUI but not necessarily entailing the GUI itself. Said in another way, there are no specifics for graphic rendering, custom control creation, or other GUI-specific patterns like those covered here. Those readers who are looking for patterns detailing custom control creation or complex graphic programming will be disappointed and will be better served with a graphics book dedicated to just that purpose.
Those looking for "presentation plumbing" patterns such as those addressing the refresh rate of a business interface, improving background operation performance, driving interface threads, test harnessing , or Web form layout should find what they are looking for here. This chapter looks at how to enrich your business interfaces by leveraging some of the framework's more unique features ”features either not found in other offerings such as Swing, those that have typically been difficult to implement in the past, or even those that required third-party software. Whether you are building fat, thick, or thin clients calling Web services, the following examples should provide you with a few more useful presentation tools for your toolbox.
These design patterns are included: