DataBase for Objects looks good!
Removes many of the shortcomings of Bamboo Prevalence written about before.
Look here to download db4o[^] and have a look at the tutorial. It's really easy to get started!
An other thing I'm trying to get better at is Unittesting and the main concept in Test First Development: Always create a failing test. (If a test never has failed. It's not worth anything.)
A failing test is proof that test is actually running, and only then can the unittest be seen as a verification or proof of that the method beeing tested is really doing its job.
When the test is created upfront, you don't know the exact implementation details of the solution you are testing. You only know how it is supposed to behave. (Either since you know the output from a method, the state of an object or the exceptions it should throw.) This is a good thing!
After the test has failed atleast once (with the empty solution) you can start programming on the solution. When the tests work, your solution is done. (Or you start creating more test for new functionality. Next iteration of the project.)
Unittesting is part of what's called the Agile methodologies. I've learned them from one specific branch of this, named XP, or eXtreme Programming.
This is a very exiting topic that I'm looking into at the moment...
A real RDBMS killer: Object Prevalence means keeping all your objects in memory at all times, and still persisting them in a way that ensures no data get lost...
Bamboo Prevalence is a framework library that helps you implement this model in your programs...
From my POV, the main thing here is that you can free your objectmodel design from the RDBMS way of storing data. Thus:
- Lets you implement REALLY object oriented design... Easier...
Some other good points are:
- No licence costs for the RDBMS.
- Extremely fast.
- Easier to implement than a RDBMS DAL Layer...