If you're an average computer user, you've been undone at one time or another by a computer program that isn't quite reliable. Maybe you've waited for your word processor to complete saving the file you're working on, and it just hangs. The insides of a real-world application aren't pretty either. Sometimes the attempt to convert the real world into bits and bytes results in a mass of complex interconnections that not even a program's author understands. The software field has come up with various techniques to control this complexity.
Component software is one of the latest.
Since a computer application has so many interdependent parts, one part can corrupt another part if something goes wrong. Using this approach, called encapsulation , a program can be built using independent pieces. The likelihood of a wayward function causing a computer crash is reduced. Objects can also be reused in different programs. Objects don't mix and match well.