The vast majority (if not all) GUI applications rely on controls and components to create part of the application infrastructure. Controls and components are specialized objects that encapsulate code and make it remarkably easy to reuse. Most developers associate controls and components with the user interface for an application. However, components can fulfill a number of non-user interface requirements as explained in the "Understanding the Differences between Controls and Components" section of this chapter.
Whether you need the material in this chapter depends on the kind of application you want to create. All GUI applications use controls and components. However, if you create a command line application designed for an environment such as Windows Server 2008 Server Core, you may not use any controls or components. Check out the articles at
http://www.devsource.com/c/a/Architecture/Mixing-Server-Core-with-NET-Applications/for examples of this type of .NET application development. Writing command line applications isn't the only time you tend to avoid controls and components. Some specialized development, such as writing a service, may also not require use of controls and components. The article at
http://www.devsource.com/c/a/Using-VS/Writing-a-Managed-Windows-Service-with-Visual-C/discusses some of the issues to consider when writing a managed ...