Interfaces provide you, the developer, with the most basic of functionality to build upon. All interfaces in the .NET framework are identified with a capital letter I at the beginning of the interface class name. If you plan to develop interfaces, you should follow this naming convention.You should consider a few items when developing your own interfaces.
Interfaces can be made from the following types:
Nested types
Static members
Virtual members
Abstract members
Properties
Events
You also should consider a few rules when designing interfaces. The following list of restrictions applies to interfaces:
Any interface members must have public accessibility.
Security permissions cannot be attached to the interface or its members.
Interfaces cannot instance constructors, but they can define class constructors.
The following list includes some of the common interfaces that you might see in some of the components that you use when debugging your web page or building a component. This is just a sample of what is out there. Before you start developing your own components, take a look at a few of these and see what these classes are doing; you might be surprised to find that not a lot is happening in these classes. Still, look at how they provide a strong foundation to build upon.
IConfigurationSectionHandler
ICollection
IHttpAsyncHandler
IHttpHandler
IHttpHandlerFactory
IComponent
IServiceProvider
In the next section, you will learn how IHttpHandler is used through the HttpHandler component. Also, if you dig deep enough, you will notice that the IComponent and ICollection interfaces are used under the hood.