Re: Clean Object Class Design -- What is it?
Date: Sat, 21 Jul 2001 23:34:42 GMT
Message-ID: <9i7sot$2lk$00$1_at_news.t-online.com>
Bob Badour wrote:
> >Oh yes?
> >Storing an object network, possibly consisting of thousands of individual
> >objects with one single line of code (no necessary schema maintenance, no
> >database setup) is complex?
>
> You haven't addressed why you think this is unique to your product. It is
> equally possible in a relational database.
Oh yes?
Then please provide an example, how any existing relational database stores the following *and* provides querying functionality for all of the following classes *without* any previous table maintenance work. This only is an excerpt (1/20) from a sourcecode parser. The graph is to be stored and restored.
db4o needs one statement to store a tree of any complexity: db.set(tree);
public class Tree {
public static class TopLevel extends Tree {
public Tree pid; public List defs; public Name sourcefile; public PackageSymbol packge; public Scope namedImportScope; public Scope starImportScope; public Hashtable docComments = null; public static class Import extends Tree { public Tree qualid;
}
public static class ClassDef extends Tree {
public int flags; public Name name; public List typarams; public Tree extending; public List implementing; public List defs; public ClassSymbol sym;
}
public static class MethodDef extends Tree {
public int flags; public Name name; public Tree restype; public List typarams; public List params; public List thrown; public javac.tree.Tree.Block body; public MethodSymbol sym; } public static class VarDef extends Tree { public int flags; public Name name; public Tree vartype; public Tree init; public VarSymbol sym;
}
public static class Block extends Tree {
public int flags; public List stats;
}
> Your product provides no means to administer the database,
You haven't had a look yet, I believe. Our product does for instance provide maintenance methods to rename classes and fields. How would you rename a table or a column, using an Oracle database, without using a temporary table?
> no means to provide any kind of logical independence
> among applications
The concept I posted yesterday will provide application independance by accessing the same stored objects with different classes.
> and no means to provide any kind of physical
> independence.
There is no need for physical independence. You have objects, you want objects, you store objects.
By providing an export method with sourcecode to relational databases, we make sure that customers do not feel locked in.
Kind regards,
Carl
--- Carl Rosenberger db4o - database for objects - http://www.db4o.comReceived on Sun Jul 22 2001 - 01:34:42 CEST