Brainstorming Complete, Moving to Descriptive Write Up

I’ve finished what I wanted to of my basic diagrams.  I need to add the description of what I am trying to do now to elaborate what exactly the brain storming diagrams entail.  The following are the remaining brain storming diagrams that I’ve come up with that will at minimum, get my pet project started.

What I’ve done in each of these is prepare them, or complete a further sub-level break down of the primary modes for a particular mode type.  For airplane travel there is the break down into commuter, small aircraft, etcetera, and then the further break down to the specific Airbus, Boeing, or Beech Hawker Craft.  At some point the sub level data would probably be stored in a database but this is just brainstorming, so I’m just drawing simple correlations at this point.  The next step is to start breaking down specific elements, or scope, of what exactly my first application with this topic.  I have some initial elements for the design, some ideas for other particular applications involving scheduling, seating arrangements, etc.  I will move forward on this shortly and have an actual documented scope that I will start building to.

O/R Mapping and Data Access Layers

O/R mappers and generator

I’ve been doing a moderate amount of research into tools that generate data access layers, entity or object tiers, and other layers for enterprise (or non-enterprise) applications. One of the tools I’ve picked up lately per some encouragement from a coworker is LLBLGen Pro. One can download a demo at the LLBLGen site to try out.

LLBLGen Pro is claimed as the #1 O/R Mapper (I’m not sure this is true, I haven’t seen sales statistics) for the data-access tier in .NET.  The tool can be used against Access, PostgreSQL, Oracle, mySQL, DB2, and of course SQL Server 7.0 or greater.  At the same time support is given to the databases, the code generated is independent of the specific database, and for type differences (such as Oracle’s lack of a Boolean type) type converters can be created.

The tool also creates typed lists for entity fields based on one to one, one to many, or many to one relationships.  LLBLGen Pro will also create typed views one one to one mappings, support existing stored procedures with wrapper code which enables a single line of code for calling.  The tool also will accept templates for other peripheral code generation as needed.  For more information on the features, hit the LLBLGen Features List.  For tutorials, videos, and samples check out the tutorials page.

As my ranting has ensued about non-use of code generation, the LLBLGen site lays out the facts right on the main page.  LLBLGen Pro (or really, ANY code generator) will save a huge portion of a project’s development time.  The site puts the number at 50%, I’d put it even higher with a high confidence on my proclamation.  As I’ve often complained about the endless boiler plate code, this tool easily replaces greater than 90% of that, the rest easily removed by good use of object oriented pattern based design practices.

The tool swings in at a relatively cheap 229.99 Euro starting price, which as of this date translates to $308.57.  Big Smile [:D]

Next I will probably toss in some reviews of .NET Tiers, NHibernate, and other such tools just for good measure.

Long Night Programmer's Coffee

I got up super early this morning to knock some last minute code out before a deliverable was due today.  So here I am this morning about 4:45am wondering about getting some coffee.  Of course it is Portland and there are several places I could just up and go to, one is even within 10 minutes of walking.  But I just recently bought a bag of Peet’s Coffee and I’m in the mood for Peet’s Coffee.  So I start digging around for filters and all that jazz.

Well all of a sudden I run into a show stopper, I have no creamer, milk, or any other substitute.  So now I have to go to the store, but wait.  I all of a sudden have a strange developer type idea to use something that already inherits some similar values to sugar AND creamer!  I’ll use ice cream!

Thus I have ice cream sweetened and creamed coffee this morning.  I must say, if you like the taste of ice cream and coffee without anything in it, this is not a bad combination.  I might even try it when I have alternatives!  So without breaking my developer mind set for more than 5 minutes I make and have myself a cup of coffee.  With that cup of coffee sitting by my side I then continue with the coding trance!

Binding

I’ve been working with a standard .NET Windows Application and have had some of the oddest binding behaviors.  I seem to be getting “ghost” refreshes of data when exiting text boxes, and writes of previously entered data.  This got me thinking, why am I actually using binding?  It isn’t always the best choice and often times seems to be sub-optimal, especially when one has to programmatically keep up with the state of data anyway.

I’ve been looking around for some alternate patterns and ideas behind binding.  Is there any factories out there that take data and controls and produce a bound control?  Is there a pattern that would work for me to auto map data to controls without using the in place binding?  Either which way I’m contemplating just coming up with a “from scratch” solution for fun.

For now, I just wanted to randomly write about binding, to kind of work up a direction in my head to work forward with.  I think now though that I’m going back to troubleshooting the transit related application I’ve been working on.  So this inquiry…   …has limited interest…  …and will for a short period more.