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

From: Frans Bouma [C# MVP] <perseus.usenetNOSPAM_at_xs4all.nl>
Date: 13 Jun 2006 11:25:14 GMT
Message-Id: <xn0enffhj8u0v5000_at_news.xs4all.nl>


Robert Martin wrote:

> On 2006-06-01 23:09:37 +0200, Bob Badour <bbadour_at_pei.sympatico.ca>
> said:
>
> > phlip wrote:
> >>
> >> An application should have its SQL statements in only a few
> modules, and >> all others should be SQL-free.
> >>
> >> Note in my statement, you can replace SQL with GUI, XML, ORB, etc,
> to >> generally the same effect. The point of modules is to isolate
> and >> encapsulate.
> >>
> >> Is that so hard?
> >
> > Define: few
>
> The best answer is "one". We would like all the SQL to be placed in
> one module, or one group of modules that are all related. More
> importantly we want that module (or that group of modules) to be
> independent. No other modules in the system should know that it
> (they) exist(s). All dependencies point AWAY from the SQL modules.
>
> |App Modules|<------|SQL MODULE(S)|

        erm, shouldn't that arrow be in the opposite direction? I mean, how can an app module function if it needs to consume data from a persistent storage when it doesn't know of a module which can provide that data for him? But this might be an interpretation error from my part: I interpret your diagram as : SQL MODULES are depending on App modules, something I don't see as logical as A <--- B suggests that B uses A thus A <---- B is a using relationship. Or am I missing something? (could be, my UML is a little rusty ;))

                FB

-- 
------------------------------------------------------------------------
Lead developer of LLBLGen Pro, the productive O/R mapper for .NET
LLBLGen Pro website: http://www.llblgen.com
My .NET blog: http://weblogs.asp.net/fbouma
Microsoft MVP (C#) 
------------------------------------------------------------------------
Received on Tue Jun 13 2006 - 13:25:14 CEST

Original text of this message