Re: Critique of Robert C. Martin's "Agile Principles, Patterns, and Practices"



On 2007-01-21 13:59:25 -0600, "topmind" <topmind@xxxxxxxxxxxxxxxx> said:

Isolation creates duplication of concepts and can make it more
difficult to use the existing power and abilities of RDBMS. Most of the
code in your book is WASTED on translating back and forth between two
medium-to-high-level concepts: OO and relational. It is like spending
effort translating between Japanese and Spanish and back rather than
get anything real done.

The payroll system in the book is partitioned into code that knows about the DB schema, and code that does not. The dividing line is a set of interfaces that translate high level concepts like "GetEmployee" into appropriate SQL. To the left of the interfaces the code deals with Employees. To the right the code deals with SQL, tables, rows, and columns.

In any application, OO or not, this translation must take place. All we have done with the code in the book is to assign a place for that translation.

There is no duplication. There is no waste. There is simply a separation of concerns. Those concerns would exist regardless of whether they were separated or not.

--
Robert C. Martin (Uncle Bob)  | email: unclebob@xxxxxxxxxxxxxxxx
Object Mentor Inc.            | blog:  www.butunclebob.com
The Agile Transition Experts  | web:   www.objectmentor.com
800-338-6716                  |



.



Relevant Pages

  • Re: Critique of Robert C. Martins "Agile Principles, Patterns, and Practices"
    ... code in your book is WASTED on translating back and forth between two ... To the right the code deals with SQL, tables, rows, ... Martin commits a common OO mistake of making a hierarchy of "employee ...
    (comp.object)
  • Re: Prolog to SQL ..??
    ... >> There are lots of nice tricks, but translating Prolog to SQL is not ... >> There are obviously times when a Prolog clause or 2 can be translated ... >> If you want something REALLY tedious, try Prolog to Yacc. ...
    (comp.lang.prolog)
  • Re: Prolog to SQL ..??
    ... > There are lots of nice tricks, but translating Prolog to SQL is not ... > so strange if you just treat SQL like an assembly language;-) and use ... > There are obviously times when a Prolog clause or 2 can be translated ... The problem with Yacc is that he make only finite state automata, ...
    (comp.lang.prolog)
  • Re: Prolog to SQL ..??
    ... There are lots of nice tricks, but translating Prolog to SQL is not ... so strange if you just treat SQL like an assembly language;-) and use ... There are obviously times when a Prolog clause or 2 can be translated ...
    (comp.lang.prolog)
  • Crystal 8.5 - SQL generated by Select Expert loses logical meaning
    ... This is translating to the following ODBC SQL: ... The correct SQL should be: ... Crystal is evaluating this as: ...
    (microsoft.public.vb.crystal)