31,017
edits
| Line 239: | Line 239: | ||
{{ToTranslate}} | {{ToTranslate}} | ||
There is 3 way to make links: | |||
* | * The '''Table And Row Data Gateway''' | ||
This is the most simple. You have one class per table and each class is a link to the table with CRUD methods (Ceate, Read, Update, Delete). A class instance is a record a the table. The class contains only code to reache lines and fields of table. | |||
Example: This mode is used by some ORM Frameworks, like '''iBatis''' (http://ibatis.apache.org/). | |||
* | * The '''Active Record''' | ||
Same than previous, but we are allowed to add some business functions into the class, if such functions are dedicated to the table or recordng into this table. | |||
Example: This mode is used for Dolibarr development and most PHP softwares that includes their own framework and best practices. | |||
* | * The '''Data Mapper''' | ||
Les classes représentent les entités du problème et non les données. Il faut donc doubler, tripler... ces classes avec des classes Mapper pour accéder aux données. | Les classes représentent les entités du problème et non les données. Il faut donc doubler, tripler... ces classes avec des classes Mapper pour accéder aux données. | ||
Plus "puriste" sur le papier car plus proche du métier, ce mode a aussi l'inconvénient d'être plus complexe sur le plan pratique. | Plus "puriste" sur le papier car plus proche du métier, ce mode a aussi l'inconvénient d'être plus complexe sur le plan pratique. | ||