It seems possible to write .NET applications and never write interfaces. It seems less likely to write .NET application and never use an interface. So what are interfaces and how can they improve your code?
Microsoft Developers are familar with properties. Properties have been part of popular MS development tools such as Visual Basic for several version. The tradition has continued in .NET with Win/Web forms controls. Developers can manipulate text, font color, font size, etc. via properties.
Today in a meeting I needed to explain what design patterns were to some of the non-developer members of my team. Here is a good definition: design patterns are standard solutions to common problems in software design.