Well these days, everyone seems to
be talking about Object-Oriented Design. In Perl 5,
the Perl language finally gets to chime in too. Well what
is Object Oriented Design anyway?
Object-Oriented design (OOD) is a
programming methodology which has the following
- OOD allows programmers to more
closely model the real world than ever before.
- OOD is also a methodology which
lends itself well to rapid prototyping. Object-Oriented
programs can be built and modified very quickly because OOD
provides the programmer with excellent tools for
- OOD produces reusable code. Once
objects are built, it is very easy to use them in future
applications so you need not ever reinvent the wheel.
- Finally, OOD helps programmers
work in dynamic environments. Object-Oriented programs can
be modified quickly and easily as real-world requirements
Let's look at what one guru of Java
Object Orientation, Bruce Eckel, has to say,
"Object-oriented programming appeals at multiple levels. For
managers it promises faster and cheaper development and
maintenance. For analysts and designers the modeling process
becomes simpler and produces a clear, manageable design.
For programmers the elegance and clarity of the object model
and the power of object-oriented tools and libraries makes
programming a much more pleasant task, and programmers
experience an increase in productivity. Everybody wins, it
If there is a downside it is the expense
of the learning curve. Thinking in objects is a dramatic
departure from thinking procedurally, and the process of
designing objects is much more challenging than procedural
design, especially if you are trying to create reusable
Okay, so that was pretty abstract.
Let's step back and come at OOD from another perspective.
Perhaps some history is in order.