Re: The wisdom of the object mentors (Was: Searching OO Associations with RDBMS Persistence Models)

From: Robert Martin <unclebob_at_objectmentor.com>
Date: Tue, 20 Jun 2006 13:08:48 -0400
Message-ID: <2006062013084851816-unclebob_at_objectmentorcom>


On 2006-06-13 09:25:41 -0400, "erk" <eric.kaun_at_gmail.com> said:

>> |App Modules|<------|SQL MODULE(S)|
>> 
>> This means that the SQL modules can be modified or replaced without
>> affecting the application at all.
>> 
>> This kind of dependency management and detail isolation is the essense
>> of object oriented design.

>
> Abstraction and encapsulation can't just be waved about without
> thinking about their application. For example, in the above dependency,
> what if you need to share data among several different applications? In
> that case, why should the SQL modules (the data to be shared) depend on
> specific application modules? What if those modules are replaced?

The SQL modules don't hold the data to be shared. They simple access that data. Morevoer they access it for the specific application. Other applications will implement them in different ways in order access the same data.

-- 
Robert C. Martin (Uncle Bob)  | email: unclebob_at_objectmentor.com
Object Mentor Inc.            | blog:  www.butunclebob.com
The Agile Transition Experts  | web:   www.objectmentor.com
800-338-6716                  |
Received on Tue Jun 20 2006 - 19:08:48 CEST

Original text of this message