Loosely coupled is good. We don’t want our business logic and data access all mixed together, that makes our code harder to maintain. But we all love RAD and being able to create our applications quickly. Drop some components on the form, set some properties and write a little code and we are done! Unfortunately we usually end up with tightly coupled code.
Most architectures I’ve seen for keeping everything separated results in needing to write all the data binding manually. You still get to design your forms with the visual designer, but missing the data binding kind of sucks.
That all changes with Daniele Teti‘s ColumbusEgg4Delphi. It lets you build loosely coupled applications where the business logic, data access and user interface are all kept separately, but you still get to use all those great RAD design tools. Daniele did a Modern Delphi Software Architectures webinar where he introduced ColumbusEgg4Delphi and explained how it works. You can catch the replay here . . . .
The first 10 minutes explains the need for ColumbusEgg4Delphi, then after that he explains how it works and shows a great example and answers questions.
Is ColumbusEgg4Delphi perfect? I don’t know, but it is a huge step in the right direction.