Ik zit met een dilemma dat kan leiden tot een anti-pattern dat op de Engelstalige Wikipedia wordt beschreven als copy and paste programming ( Wikipedia: Copy and paste programming ).
De vraag is: Waar ligt de grens?
Concreet voorbeeld: Ik heb een back-office gebouwd met een aantal dialogen waarin bepaalde gegevens worden beheerd. In die dialogen kunnen elementen worden toegevoegd, gewijzigd en verwijderd. Dat varieert van gebruikers en gebruikersrechten tot verschillende produkten. Programmeertaal: PHP.
Die dialogen hebben erg veel met elkaar gemeen. Invoer wordt gevalideerd, een formulier wordt gegenereerd, gegevens worden gelezen of geschreven etc.. Veel herhaling, wat mij erg doet denken aan copy-and-pate programming.
Ik laat wel zoveel mogelijk doen door classes, zoals het genereren van een form en alle database bewerkingen. De vraag is hoe ver kan ik daar mee gaan? Ik zou een generieke class kunnen ontwikkelen voor alle dialogen. Helaas zijn er veel verschillen waardoor die class complex wordt. Zo hebben produkten foto's of filmpjes, maar gebruikers niet. Gebruikers hebben weer een aparte tabel waarin hun rechten worden beheerd. Gebruikers kun je in de back-office zoeken op grond van een naam of e-mail adres, produkten op een heleboel kenmerken, etc.. Hierdoor zijn de dialogen behoorlijk verschillend, maar toch met veel overeenkomstige code. In welke mate is dat te beschouwen als een anti-pattern?
De vraag is: Waar ligt de grens?
Concreet voorbeeld: Ik heb een back-office gebouwd met een aantal dialogen waarin bepaalde gegevens worden beheerd. In die dialogen kunnen elementen worden toegevoegd, gewijzigd en verwijderd. Dat varieert van gebruikers en gebruikersrechten tot verschillende produkten. Programmeertaal: PHP.
Die dialogen hebben erg veel met elkaar gemeen. Invoer wordt gevalideerd, een formulier wordt gegenereerd, gegevens worden gelezen of geschreven etc.. Veel herhaling, wat mij erg doet denken aan copy-and-pate programming.
Ik laat wel zoveel mogelijk doen door classes, zoals het genereren van een form en alle database bewerkingen. De vraag is hoe ver kan ik daar mee gaan? Ik zou een generieke class kunnen ontwikkelen voor alle dialogen. Helaas zijn er veel verschillen waardoor die class complex wordt. Zo hebben produkten foto's of filmpjes, maar gebruikers niet. Gebruikers hebben weer een aparte tabel waarin hun rechten worden beheerd. Gebruikers kun je in de back-office zoeken op grond van een naam of e-mail adres, produkten op een heleboel kenmerken, etc.. Hierdoor zijn de dialogen behoorlijk verschillend, maar toch met veel overeenkomstige code. In welke mate is dat te beschouwen als een anti-pattern?
[Voor 0% gewijzigd door SvMp op 15-06-2011 13:47. Reden: Vermelding PHP toegevoegd]