I'm goingtobetalkingaboutwhatdesignpatternsareandwhythey'reusefulas a primerformyupcomingSirisondesignpatternstogetstartedwithwhatdesignedpatternsare I'm goingtoreadtheWikipediadefinitionfordesignpatternsbecause I thinkitencapsulateswhatdesignpatternsarequitewell, itreads.
Softwaredesignpatternis a generalreusablesolutionto a commonlyoccurringproblemwithin a givencontext.
And I thinkthisis a greatdefinitionforwhat a designpatternisbecauseithitstheheadsthatit's general, inwhichitmeansthatcanbeappliedtomultipledifferentaspectsofyoursoftwaredesign.
Whetheryou'redesigning a game, a website, a mobileapplication, itdoesn't reallymatter.
Andthenitalsosaysthatthisisreally a formalizationofdifferentbestpractices, which I thinkisthebestwaytoexplaindesignpatternsbecausethey'rereallyjust a formalwrittenwayinordertodosomethingthatis a normalbestpracticeinsideofsoftwaredesign.
I knowthebiggestproblemthatmostpeoplehavewhenusingdesignpatternsisthattheylearnaboutthemandthey'relike, Wow, thisisamazing.
I wanttousethisallovertheplaceiswillmakemycoachsomuchcleanerandtheystartthrowingdesignedpatternsintoareaswheretheydon't reallyneedtobeortheydon't reallyfitoraway.
Itmaybeoverkill, andwe'renotusingitwouldbebetter.
I knowWhen I firstlearnedaboutdesignedpatterns, thatwasexactlywhat I did.
I'm goingtothrowthemeverywhere, andthat's what I did.
Everything I wrotefor a whileafterthatwasjustusingdesignpatternsallovertheplacewhere I didn't reallyneedthem.
And I mademycodemessierthanif I hadn't usedthesedesignpatternsinthefirstplace.
Thisiskindof a problembecausethat's reallywhatthedesignpatternsareverytosolveistomakeyourcodelessmessyandcleaner, Solearningwhentousethemisreallythehardthingwhenitcomestolearningdesignpatterns.
Thisproblemthatoccurswherepeopleendupusingdesignpatternswherethey'renotmeanttobeusedoroverlyusingdesignpatternswheretheyshouldn't be, issomeofthereasonthatdesignpatternskindofget a badrepintheindustryandwherepeoplesayyoushouldn't beusingdesignpatternsthere.
Overkillmostthetimeandtheyaresometimesright.
I doagreethatsometimesdesignedpatternsareoverkill, butknowingthesedesignpatternsismoreimportantbecauseitallowsyoutohave a holisticviewofhowtocreatecleaner, morereusablecoderatherthanjustthrowingsomethingtogetherthatworks.
I kindofyoudesignedpatternsisalmostlike a gatewaydrugthatleadsintoyoucreatingmoreandmorecleancode.
I knowformedesignpatternswerereallythatthingthatpushedmetowanttocreatecleanerandmoremaintainablecode, andso I thinkthatbydoingthis I willhopefullybeabletoimpartontoyouguysthatsamedesireforcleanandarchitectedcodethat I gotfromwinningdesignpatterns.
And I reallyhopethatmyvideoscangivethattoyouguysaswell.
Goingforwardas a developerthroughouttherestofyourcareer, toehavethesedesignpatternsinyourbackpockettouseoneneeded, andjusttheideaofthinkingaboutmaintainableandreusablecodewillbeinfinitelyusefulgoingforward.