Re: What databases have taught me

From: Robert Martin <unclebob_at_objectmentor.com>
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" <aloha.kakuikanu_at_yahoo.com> 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: unclebob_at_objectmentor.com
Object Mentor Inc.            | blog:  www.butunclebob.com
The Agile Transition Experts  | web:   www.objectmentor.com
800-338-6716                  |
Received on Wed Jun 28 2006 - 17:19:01 CEST

Original text of this message