Ontwerppatronen zijn veelvoorkomende oplossingen voor veelvoorkomende problemen. Wanneer u een schuifregelaar aan een startpagina toevoegt, gebruikt u een ontwerppatroon. Wanneer iemand vraagt: "Waarom opnieuw het wiel uitvinden?" Pleiten ze voor de goedkeuring van een ontwerppatroon.
Op het web verwijst de term 'ontwerppatronen' meestal naar programmeertechnieken, maar er bestaan ook ontwerppatronen binnen het visuele ontwerp. En hoewel het oplossen van een terugkerend coderingsprobleem met dezelfde oplossing een efficiënte aanpak is, is hergebruik van een visueel ontwerp niet zo wenselijk.
Ontwerppatronen komen veel minder vaak voor in printontwerp dan op het web, ondanks het feit dat het ontwerp van het afdrukken veel langer heeft geduurd om ze te ontwerpen. De reden hiervoor is dat webontwerp sterk wordt beïnvloed door disciplines zoals informatiearchitectuur, codering en bruikbaarheid; die allemaal het gebruik van ontwerppatronen omarmen.
Programmeurs waarderen originaliteit niet, ze waarderen effectieve, elegante oplossingen. Als je ooit in PHP hebt geschreven, weet je dat er tal van manieren zijn om gegevens uit een database op te halen, maar de meeste PHP-coders hebben één fragment dat ze keer op keer gebruiken. Als je JavaScript hebt geschreven, weet je dat er verschillende manieren zijn om te lussen, maar een ervan is efficiënter en heeft over het algemeen de voorkeur. In feite hebben de meeste coderedactors een snippetsfunctie, juist omdat programmeurs oplossingen hergebruiken.
Ontwerpers daarentegen doen waarde aan originaliteit, en hoewel het waarschijnlijk waar is dat sommige ontwerpers ontwerppatronen gebruiken omdat ze de verbeelding (of moed) niet hebben om iets anders te doen, passen de meeste ontwerpers gewoon een formule toe waarvan is bewezen dat ze resultaten oplevert.
Het gebruik van een ontwerppatroon is echter niet vanzelfsprekend voor het ontwerpproces en daarom vindt u de meest voor de hand liggende ontwerppatronen waar codering een grotere invloed heeft. Vergelijk de websites die zijn ontworpen voor mobiele apps, vaker zult u zien dat ze steeds dezelfde ontwerppatronen gebruiken: de app wordt weergegeven op een telefoon, uitgelijnd naar links of rechts; naast de telefoon is een slogan en een oproep tot actie; de achtergrond is een wazige foto, meestal van een coffeeshop.
Ontwerppatronen lijken zeker te werken. Het zijn conventies die in de loop van de tijd evolueren en het is ongelooflijk zeldzaam dat een ontwerppatroon verdienstelijk is voor één persoon. Net als cultureel darwinisme, moeten die patronen die tot het punt dat ze herkenbaar zijn als patronen, succesvol zijn.
Ontwerppatronen zijn waarschijnlijk ook de eenvoudigste weg naar succes voor een webdesigner. Ze leveren beproefde oplossingen die honderden, zo niet duizenden klanten al hebben ondertekend. Bovendien hoeven ontwerppatronen niet bètatest te zijn, ze hebben geen A / B-tests nodig, je hoeft waarschijnlijk niet eens dat je moeder ze moet uitproberen, omdat ontwerppatronen worden getest op internet op een dagelijkse basis en alleen degenen die werken overleven.
Het gebruik van een ontwerppatroon is het creatieve equivalent van schilderen met getallen.
Maar hoewel ontwerppatronen (verschijnen) voor klanten werken, werken ze niet voor ontwerpers. Het gebruik van een ontwerppatroon is het creatieve equivalent van schilderen met getallen. En als we eerlijk zijn tegen onszelf, zijn we hier meer dan een salaris voor. Ja, je hebt een verantwoordelijkheid tegenover je klant om de best mogelijke resultaten te behalen, maar je hebt ook een verantwoordelijkheid tegenover jezelf. Als je niet creatief bent, zijn er eenvoudigere manieren om de huur te betalen.
Voorstanders van ontwerppatronen beweren dat ze de betrokkenheid vergroten door de eindgebruiker een gemeenschappelijke gebruikersinterface te bieden waarmee ze vertrouwd zijn, zodat een ontwerp een ondiepe leercurve heeft. Dat is echter een verouderde manier van denken. Natuurlijk, als u een complexe app maakt, helpen sommige conventies uw gebruikers om hun weg te vinden, maar het is zeer onwaarschijnlijk dat u ooit een website gaat ontwerpen voor een demografie zonder ervaring op het web.
Toen het internet nieuw was, was het logisch om elke link blauw te maken. Het heeft mensen geholpen hun weg te vinden. Maar een gemeenschappelijke taal voor links is niet langer nodig omdat we begrijpen waar we waarschijnlijk links zullen vinden. Zoals blijkt uit het feit dat het patroon van de blauwe schakel niet langer alomtegenwoordig is.
Het probleem met ontwerppatronen is dat ze, hoewel ze op korte termijn lijken te werken, ook een houdbaarheidsdatum hebben; en niemand weet wat het is.
Ontwerppatronen evolueren zoals flora en fauna, de beste, of misschien gewoon de meest flexibele ideeën die gedijen en zich voortplanten. Maar, net als de dinosaurussen die nog nooit die meteoriet zagen aankomen, ontmoeten ontwerppatronen gebeurtenissen op uitstervenniveau.
Een uitstervingsniveau-evenement is zo snel een verandering, dat de evolutie niet snel genoeg is om zich aan de verandering aan te passen. De T-Rex heeft misschien de bossen van het krijtachtige geregeerd, maar het kon niet omgaan met een temperatuurverandering van enkele graden, en ook niet met dat kleine spitsmuisachtige zoogdier dat er ongemerkt doorheen rende.
Voor veel ontwerppatronen was responsief ontwerp een evenement op uitstervenniveau.
Tot de explosie van mobiel ontwerp was een van de meest gebruikte ontwerppatronen de heilige graal lay-out (zo genoemd omdat het als ideaal werd beschouwd, maar moeilijk te bereiken met de CSS die op dat moment beschikbaar was). Toen het mobiele internet de behoefte aan responsief ontwerp introduceerde, raakten de lay-outs voor heilige graal uit de gratie omdat ze, terwijl ze nog steeds voor een desktop werkten, zich niet gemakkelijk aanpasten aan mobiele schermen.
Problemen die ontwerpers moeten oplossen, bestaan niet in een vacuüm. Het web is een constant veranderend ecosysteem, met invloeden van buitenaf, interne druk en schijnbaar willekeurige veranderingen. Wanneer we een ontwerppatroon gebruiken, lossen we het probleem van gisteren op, met de oplossing van gisteren; en we laten het probleem van vandaag onbeantwoord.
Eerste beginselen is een methode van logisch denken die elk probleem reduceert tot kernideeën die niet van elkaar kunnen worden afgeleid.
Om te parafraseeren Het superieure voorbeeld van Wikipedia: Alle browsers zijn buggy; Safari is een browser; Safari is buggy. De derde verklaring is overbodig omdat deze kan worden afgeleid uit de eerste twee verklaringen.
Elon Musk is een liefhebber van het denken in de eerste beginselen. Vorige week, VentureBeat meldde dat Musk's bedrijf, SpaceX, een ruimteraket bouwde voor ongeveer 2% van de gebruikelijke kosten, eenvoudigweg door het toepassen van eerste beginselen.
Wanneer u op een ontwerppatroon vertrouwt, neemt u een probleem aan dat u mogelijk niet hoeft op te lossen.
De antithese van eerste beginselen denken is analoog denken; ontwerppatronen zijn analoog denken. Wanneer u op een ontwerppatroon vertrouwt, neemt u een probleem aan dat u mogelijk niet hoeft op te lossen. Als u al uw blauwe links opmaakt, lost u een bruikbaarheidsprobleem vanaf 2000 op, maar het is een probleem dat amper in 2015 bestaat.
Door een eerste principesbenadering toe te passen, concentreren wij ons op de kern van het probleem dat onze cliënt eigenlijk heeft, zonder inherente niet-verbonden problemen die door de ontwerpkeuzen van andere mensen worden opgelost.
Ontwerppatronen bieden effectieve kortetermijnoplossingen voor veel voorkomende problemen. Hoe vaker het ontwerppatroon des te meer is vastgesteld, hoe groter de kans dat het een gebeurtenis op uitstervingsniveau nadert.
In plaats van oplossingen te vergelijken en antwoorden te ontlenen aan de antwoorden van anderen, zouden we ons moeten concentreren op de huidige problemen van onze klanten.
Het web verandert voortdurend om ons heen, en het ontwerp blijft evolueren, door een eerste principesbenadering toe te passen, kunnen we werk produceren dat robuust genoeg is om online te overleven. Wie weet? Je kunt zelfs creatief worden.