|[an error occurred while processing this directive]|
Besides complexity, another fundamental challenge of software development is change. If a software project doesn't fail initially, the resulting code base tends to have a long life. With each new release comes new requirements. Existing code is tweaked and enhanced to fix bugs and add functionality. Objects, in addition to helping programmers manage complexity, help programmers manage change.
One ideal of object-oriented programming is
a strong separation of interface and implementation. The primary
enemy of change in a software system is
in Washington, all the
Building objects in San Francisco continue
to stand tall.
Objects also help programmers deal with change
by being replaceable modules. Polymorphism and dynamic binding enable
you to unplug one implementation of an object interface and plug
in a different implementation of that interface. This makes it easy
to change a system by defining a new class that extends an existing
class or implements an existing
interface. You can
instantiate the new class and pass the resulting object to existing
code that knows only of the supertype.
Lastly, objects help programmers manage change
because object contracts can be very abstract. An object's
Last Updated: Friday, April 26, 2002
Copyright © 1996-2002 Artima Software, Inc. All Rights Reserved.
Artima.com is created by Bill Venners