Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/danieleteti/columbusegg4delphi

A simple framework to correctly write business logic in Delphi "RAD style" applications.
https://github.com/danieleteti/columbusegg4delphi

business-logic dataset delphi integrationtest memory-dataset rad unittest

Last synced: 13 days ago
JSON representation

A simple framework to correctly write business logic in Delphi "RAD style" applications.

Awesome Lists containing this project

README

        

![columbusegg4delphi logo](https://github.com/danieleteti/columbusegg4delphi/blob/master/resources/ColumbusEgg4DelphiLogo.png)

# WARNING! The Official Repository of columbusegg4delphi is [here](https://bitbucket.org/bittimepro/columbusegg4delphi).

ColumbusEgg4Delphi is...

- A simple to use Delphi framework to correctly write business logic in Delphi "RAD style" applications.
- Based on Table Module design pattern but adapted to be Delphi friendly and dataset centric.
- Provides all the good alternatives to do the common Delphi practices which makes your application hard to test, in a testable way.
- Provides observers and listeners to avoid all the business logic code in your form.
- Retain almost all the good of Delphi RAD.
- Developed by bit Time Professionals.

# Why ColumbusEgg4Delphi?
- Forms and datamodules are free of Business Logic code.
- Provides a single point for the BL code
- You can do unit tests; Business Logic can be unit tested using in-memory datasets.
- You can still use the RAD approach to design you forms
- If your data comes from an application server, you can fill in-memory datasets (or virtual dataset) and still use the same Business Logic.

## Very Important!
- Columbusegg4delphi can be used also in legacy applications to improve their architecture at very low cost.
- Just create a columbus module for each dataset and move there all the events related code. It is an incremental approach; you can change it one dataset at time.