well, this is probably due to my ignorance, but to me the "has a, is a" has
a lot to do with the names of the objects....

heres the framework renamed.

        application variable
                        |
database -- application
                        |
                        |---- object_manager
                        |
                        |---- object_property_manager
                        |
                        |---- businessobject
                                        |
                                        |-- customer
                                        |-- product
                                        |-- order
                                        |-- orderitem


application "has a" application variable
application "has a" database
application "has a" object manager
application "has a" object property manager
application "has a" businessobject
customer "is a" businessobject...



-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
Behalf Of John D Farrar
Sent: 01 October 2004 16:30
To: [EMAIL PROTECTED]
Subject: RE: [CFCDev] Encapsulation Framework


Heh... this perspective should humor some.

Neat concept! Is it possible to reconfigure the structure so the data is a
"has a" relationship with the Data.cfc? That would prevent encapsulation
issues to some degree. I don't know that you can totally prevent it, but
then it would be "internal" and that would adhere to the concept of
encapsulation... would it not?

John Farrar

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf
Of online
Sent: Friday, October 01, 2004 5:08 AM
To: [EMAIL PROTECTED] Org
Subject: [CFCDev] Encapsulation Framework

Hello,
I have been reading the encapsulation debate with much interest, and I would
be interested in peoples opinion of an object framework i have written.
Hopefully the ascii diagram will display properly....


data.cfc: CRUD interface with db

core.cfc: inherits data, gets application variables (only cfc to go outside
of itself and break encapsulation)

object.cfc: inherits core, creates new objects (its own properties/interface
are hardcoded)

object_property.cfc: inherits core, creates object properties (its own
properties/interface are hardcoded)

baseobject.cfc: inherits core, using the CRUD functions it gets the
definition of a given object from the DB and provides interface functions
for the object

customer.cfc,product etc: blank cfcs that inherit baseobject, giving them
power to provide interface, and crud operations, but not the ability to
modify their own structure.


    application
            |
data -- core -- object
            |
            |---- object_property
            |
            |---- baseobject
                          |
                        |-- customer
                          |-- product
                          |-- order
                          |-- orderitem




----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the words 'unsubscribe cfcdev'
in the message of the email.

CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).

An archive of the CFCDev list is available at
www.mail-archive.com/[EMAIL PROTECTED]

----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the words 'unsubscribe cfcdev'
in the message of the email.

CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).

An archive of the CFCDev list is available at
www.mail-archive.com/[EMAIL PROTECTED]

----------------------------------------------------------
You are subscribed to cfcdev. To unsubscribe, send an email
to [EMAIL PROTECTED] with the words 'unsubscribe cfcdev' 
in the message of the email.

CFCDev is run by CFCZone (www.cfczone.org) and supported
by Mindtool, Corporation (www.mindtool.com).

An archive of the CFCDev list is available at www.mail-archive.com/[EMAIL PROTECTED]

Reply via email to