tirsdag den 23. juni 2015

Dynamiske properties - ikke skulle ændre din database eller objekter


Det kan være en udfordring når man definerer et system, at vide på forhånd alt det skal indeholde.
Derfor er det ikke unormalt at efter noget tid hvor systemet er blevet brugt, så finder man ud af hvad man gerne vil have ændret.
Det kan resultere i ændringer i dine objekter, og i din database struktur.
Alt efter hvilke ændringer det er kan det være rigtigt problematisk.

Der er dog en måde at opbygge en struktur på som gør du altid nemt kan ændre, slette, tilføje i din funktionalitet og krav uden at skulle lave ændringer i din database eller objekter absolut.

Objekter og properties.

Et objekt er dit samlingspunkt, og kan bruges til alt. Det kan være forskellige kontroller, det kan være en objekttype du skal gemme i databasen, eller hvad du nu end ønsker.
Så til hvert objekt har du en samling af properties, som er en tekstværdi. Du kan selv udbygge med at sætte type på og nogle automatiske konverteringer hvis du ønsker.
Hvis din database skal kunne håndtere billeder, skal du selvfølgelig have et felt til det også og gemme dem i.

Fordelen her er at fx hver kontrol du har, den svarer til et objekt, og du kan så sætte 0 - * properties til den, og nogle kan måske redigeres og andre kan ikke. Uanset hvad indput og felter, og billeder etc. af værdi den har så kan du altid ændre det fra kontrol til kontrol, og kan ændre en eller flere kontroller uden at skulle huske at køre en masse database scripts i rækkefølge for at kunne få din database op på niveau.

Hvis man bruger et CMS, så er dette ofte også tilfældet - ligesom når man bruger Umbraco (.NET CMS system), hvor man kan tilføje & fjerne properties til de objekter og strukturer du nu opbygger.

Ingen kommentarer:

Send en kommentar

Kan du lide mit indlæg, har en kommentar, forslag eller andet på hjerte så skriv venligst