NOODB – Another Potential Waste of Time

A few months ago, I pretty much stopped working on AW BUS due to things I learned at QCON, and a bunch of reading. A few months later, I still think I was on the right track with AW BUS. I think it can serve certain needs very well. I should’ve kept working on it. But, that’s a very large project.

Several weeks ago, I decided to take a hiatus on personal development projects. This was largely due to many facets of frustrations that I’ve never experienced before. I decided to refocus my efforts on writing. You can read about that on http://jayallard.blogspot.com, if you’re so inclined.

Anyway, the hiatus was short lived. I got it in my head that I wanted to write an OODB type SQL layer. But, I can’t let it distract me from the writing, so I have to code in moderation. Fortunately, Gina and I watch a lot of TV. I limit my coding time to TV time. As a result, I don’t fully absorb what we’re watching, but TV isn’t important, so it can take the hit.

So, for several hours a week for the last couple weeks, I’ve been working on what I’m calling NOODB (nude-b): Net Object Oriented Database). The name is tentative and, if you get right down to it, it’s not even an OODB. It’s a relational db storing objects. But, as far as the consumers of it are concerned, it’s saving objects, so let’s not split hairs.

Here’s the home page: https://hamletcode.wordpress.com/noodb-net-object-oriented-database/

Here’s a code sample of saving an object. The movie objects are simple property bags; they do not contain any NOODB code at all; they are completely POCOs.

   1: MovieReview review = new MovieReview

   2: {

   3:     Author = new Author

   4:     {

   5:         Name = "Jay"

   6:     },

   7:     Movie = new Movie

   8:     {

   9:         Director = "Director",

  10:         Name = "DH4"

  11:     },

  12:     Rating = new Rating

  13:     {

  14:         Id = 1,

  15:         Score = 5

  16:     }

  17: };

  18:  

  19: IClient client = new Client(new Server(TestUtility.DefaultUnityContainer));

  20: client.Save(review);

In this example, the client has a direct reference to the server. The objects are meant to run in separate processes on different machines, but the don’t need to be.

Advertisements

Leave a Reply

Please log in using one of these methods to post your comment:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: