Re: What databases have taught me

From: Robert Martin <>
Date: Wed, 28 Jun 2006 08:19:01 -0700
Message-ID: <2006062808190177923-unclebob_at_objectmentorcom>

On 2006-06-23 11:10:25 -0700, "Aloha Kakuikanu" <> said:

> Dmitry A. Kazakov wrote:

>> On 23 Jun 2006 10:00:32 -0700, Aloha Kakuikanu wrote:
>>> queisser wrote:
>>>> Things like "devices" or "windows" or "customers" can be reasonable
>>>> classes in a hierarchy but at the top level things are not as clear.
>>> I challenge the idea that customer is a usefull class. What kind of
>>> methods does it have other than "getName" "setName" and alike?
>> Cancel_Project

> Order.cancel()? This is really about canceling a transaction. You have
> to study transaction management in order to implement this
> functionality correctly. Inheritance and polymorphish doesn't help
> here, sorry.

Again, this depends. If there are several different types of customer (e.g. GovernmentContractor, privateContractor, foreignContractor) you might find that each of these different types must follow a different procedure in order to cancel an order.

Robert C. Martin (Uncle Bob)  | email:
Object Mentor Inc.            | blog:
The Agile Transition Experts  | web:
800-338-6716                  |
Received on Wed Jun 28 2006 - 17:19:01 CEST

Original text of this message