Hey Delphi gurus ...

Hey Delphi gurus ...

I'm putting together a presentation and I wanted to solicit opinions from other Delphi devs about something that isn't talked about very much (in my experience, anyway).

This is a topic I'm calling "plumbing code".

In a building, "plumbing" is what's used to get some kind of fluids into and out of different places where they're used: baths, showers, sinks, toilets, washing machines, etc.

"Plumbing code" is code that's used to get data into and out of different places where the data resides or needs to be (RAM, cache, local storage, DBs, or remote) and is actually processed (fields, variables, forms, streams, container objects).

Data-aware components were designed to simplify dealing with plumbing code when it comes to moving data between a database and fields on Delphi forms. But that's just one common place that had an obvious optimization. LiveBindings are a new way to deal with this problem, but they're still somewhat limited in their scope.

If you're working with a NOSQL database back-end, a remote server, or any situation where data-aware components and LiveBindings don't help, then that's a great place to start looking. 

Also consider how you get data into and out of forms, and between different parts of your applications that aren't in the same project (ie., they're in different compiler units).

The question is ... how much time and effort do you spend on this kind of "plumbing code" in your projects? Both setting it up as well as maintaining it.

Also, is there anything you've done over time to make it more manageable across multiple (unrelated) projects? (That is, if you build lots of apps that revolve around, say, remote data access, or NOSQL database interactions, each one typically requires its own unique bit of plumbing code to be created. Is there anything you've done to help simplify creating and maintaining this code?)

Thanks
-David

Comments