Chapter 4. Strive for Transparency
In the Lord of the Rings trilogy, the fate of
Frodo Baggins is tied to the ring of power. The ring provides
incredible power, but at a terrible cost. In the end, it invades his
sleep, every hour of consciousness, and even his relationships. He is
so possessed by the ring that he cannot drop it, although it is
consuming him. I've suffered projects where our
frameworks felt a little too much like that ring. In the beginning,
the power blinds us, and near the end, it invades the core of our
being, from the design philosophies all the way to the thoughts and
mood of the whole team. In fact, I've even helped to
build, and sell, such a framework, a demon disguised by the false
name of CORBA. I'm not alone. I've
been approached to rescue many an application from a cloud of doom,
whether it's CORBA, VisualBasic, EJB, or even
database stored procedures and user-defined functions.
In Chapter 3, our goal was to focus our
software efforts on a central task. There weren't
any earth-shattering techniques. You probably already do some kind of
layering, and at least understand the value of decoupling. In this
chapter, you'll see techniques to take the power of
decoupling to the next level. In fact, it's often
important enough to decouple critical layers like your domain model
from all other services from the very beginning.
You're looking for
transparency, and this chapter introduces the
techniques that you need to get there.
|