Hello Frank,

On 26/11/2010 20:56, Frank Church wrote:
...

Quite simply I am thinking of a way to create the application in parts, so that the parts containing the new functionality can be developed separately as standalone programs, perhaps even console programs.

The FPC/Lazarus way is really to use components as the way to break down the overall complexity of your application, and structure your components into packages, several components working together going into one package. The dependency graph of your set of packages should be acyclic (no cycles), where the more stable components and interfaces are the most used, and the newer things are at the end of the dependency graph.

Traditionally, Delphi has supported dynamic package loading allowing plug-ins to be added dynamically. FPC doesn't do that yet, but making DLL's is still possible if you need that option. Compiling your packages statically into your application does the trick nicely otherwise.

There are many books about making components for Delphi, those should be useful to you, especially those describing how to write non-GUI components (domain objects) as well as linking GUIs to domain objects.

Additionally, Peter Coad has a nice list of patterns for components that could be useful. It's in his book "UML in color with Java", but very readable. The UML tool, ModelMaker, now implements Coad's color pattern and can help with your design. It parses most of FPC/Lazarus code.

My own site www.tcoq.org has a few non-visual components that may provide examples, especially the Excel interface unit. You've got an example of how to independently test a component.

I hope this helps,
Best regards,
Thierry


--
_______________________________________________
Lazarus mailing list
[email protected]
http://lists.lazarus.freepascal.org/mailman/listinfo/lazarus

Reply via email to