Ved oprettelse af nye klasser bør anlægges en rimelig stram formålsbestemt strategi. Som udgangspunkt bør nye klasser etableres ud fra et af følgende tre formål:
En klasse bør som hovedregel indeholde funktionalitet til benyttelse i både site og admin.
DB-tabel klasser (DB) For hver tabel eller flere sammenhørende i databasen etableres en klasse til de funktioner, der anvendes til brug / vedligehold af deraf. Der bør tilstræbes (mnemoteknisk) navnesammenfald mellem klasse og tabel.
I DB-tabeller kan man med fordel definere den / de involverede tabeller som parametre. Som navn anvendes et praktisk "kaldenavn" til angivelse i koden. Som værdi anvendes tabellens eget navn.
En DB-klasse vil som oftest også indeholde funktioner uden CRUD.
Eksempler på DB-tabel klasser:
Dbase
Fælles funktioner knyttet til udveksling af data med databasen.
Order
Funktioner knyttet til tabellerne Ordrestamdata, Ordrelinier og Ordrestatus
User
Funktioner knyttet til tabellen Brugerstamdata
Afgrænset aktivitet klasser (Akt) For hver afgrænselig aktivetet på tværs af site og admin etableres en klasse til de funktioner, der er relevante for aktiviteten, f.eks: Form, validering, indkøbskurv. Der bør tilstræbes (mnemoteknisk) navnesammenfald mellem klasse og aktivitet.
Eksempler på klasser til afgrænsede aktiviteter:
Form
Funktioner knyttet til <FORM ... .
Validation
Funktioner knyttet til validering
Core
Funktioner knyttet til Framework
Basket
Funktioner knyttet til Indkøbskurv
Static klasser (Sta) For hver type aktivitet, hvis funktioner anvendes generelt på tværs af site og admin etableres en klasse; f.eks til: Url og login. Funktionerne i klasserne bør altid være at typen Static.
Eksempler på Static klasser:
URL
Funktioner knyttet til læsning af URL-parametre og andet relateret til sidernes URL-adresse.