Thank you for your critical suggestions, Joanna.
Actually, I am developing an application to show information with a MS Excel
like sheet. So there might be some classes as TGrid, TCell, TPerson,
TReservation, TFacility, TTeetime and so on. For example, TGird might have a
property Cells[ARow,ACol] to save data into the cell, the value might be
TPerson. Tperson can have TReseration values and etc. All these classes are
related to the TGrid, they are not used by any other classes. So I put them
into the same unit. I know this might not be a good choice and I would like
devide them into seperate units.
I have encapsulate business rules into the SQL stored procedures, all the
classes above would read and save data with ADO Queries or ADO Stored
Procedures in the Datamodule. I am afraid if I put all the functions which
read and save database into a unit, this unit would be much complicated too.