Melyek a tervezési minták

Bitmemória ifjúkori

Amikor én voltam az egyetemen, azt tanultuk, az egyik a tanfolyamok tervezési minták. Abban az időben, úgy tűnt nekem, olyasmi, mint egy gömb alakú lovat légüres térben, mert a tapasztalat az alkalmazásuk, volt (ez volt a harmadik vagy a kezdete a negyedik évben sok évvel ezelőtt). Emlékezz, hogy ki kicsoda is elég nehéz volt, nem is beszélve a bonyolult és a részleteket. Azonban kérdések a tervezési minták kérték nélkül nem minden állásinterjún. A pályázóknak kellett fújja arcon és bizonyítani, hogy milyen hűvös különböző sablonok (különösen Singleton), látta, hogy azok az élet legfeljebb egyszer vagy kétszer a könyvek lapjai.

De nem hülye emberek jöttek fel a tervezési minták:

Ezután továbbra is a történelmi feljegyzések nincs értelme. Ez volt az első könyv, amely a mi nemzedékünk vonta ismerete tervezési minták és megpróbálta alkalmazni őket munkájukban. Úgy ítélik meg egy klasszikus a témában, és kötelező olvasmány.

Egy bizonyos idő elteltével a munka, azt vette észre, hogy még az elméleti tudás a tervezési minták, hogy segítsen nekem megérteni, hogy valaki másnak a kód sokkal gyorsabb. Ez különösen fontos az elején a karrierjét, amikor meg kell ásni a meglévő projekteket tapasztalat nélkül. Például, találkozó egy osztály utótag Builder, rájöttem, hogy ez adunk, hogy egyszerűsítse a logika felépítése és izolálása összetett tárgyakat. Rögtön találta, hogy könnyen kezelhető, és használja a kódban. Egész képviselői Singleton minta szétszóródtak, hogy hibázik az inicializálás során olyan könnyen tudta nélkül a szabályokat. A kód, amellyel dolgoztam, bőségesen találkozott homlokzat, Visitor, felelősségi lánc, Iterator, Adapter, Dekoratőr, Proxy, stratégia, sablon módszer, és más népszerű tervezési minták.

És hogy nem sablonokat?

Ahogy telt az idő ... Én gyorsan megszokta a széles körben elterjedt használata a tervezési minták és ez lett nehezebb dolgozni nélkülük. Kezdtem megérteni, mi az interjú a jelölteknek feltett róluk (persze, ha nem csak „a show”). Itt már nem is kötelező alkalmazását tervezési minták, valamint a kommunikáció megkönnyítése a fejlesztők. És ez az a folyamat, amely kulcsfontosságú a fejlesztés - a vita építészet és a design egy adott megoldást.

Az első fontos paraméter - az idő, hogy a töltött vita és döntéshozatal (remélem nem fogadja megoldások egyik szakállas Senior Senior Global Product Software Architect). Képzelje el, milyen nehéz lenne gyorsan elmagyarázni valakinek, hogy mit vesz, hogy megvalósítsa a Dekoratőr: «Meg kell, hogy egy osztály, amely azt fogja adni a tervező egy példányát egy másik végrehajtása ugyanazt a felületet, és ez növeli a logika, hogy hívja ezeket a módszereket megváltoztatása nélkül az alapvető viselkedését. „De még a színfalak mögött volt egy csomó kis dolgokat és árnyalatok. És ez a kis rész a design, amely a legtöbb pontszámot döntések, vagy akár több száz. Nem éri el az összetett és komoly építészeti mintákat.

A példa a Dekoratőr könnyen érthető a második fontos paraméter - az azonos megértését tervezési probléma megoldása a fejében a csapat minden tagja. Amikor blur megfogalmazás mindenki meg tudja érteni a döntést különböző módon, de tele van problémákkal. Végtére is, a végrehajtás nagyon eltérő lehet a gondolatok vita tárgyát. Ez vezet a hosszabbításban a Review kódot, és utómunka.

A harmadik fontos paraméter - a megértése a munka külső eszközök és a könyvtárak. Abban a pillanatban, szinte minden projekt használ sok külső megoldások. Ahhoz, hogy használni őket rendesen, és ne lépjen rá a rake, az építész és a fejlesztő kell érteni, hogyan működik. Erre a célra a jól ismert mintákat, melyek célja, hogy nagyban egyszerűsíti a megértést, és összehasonlítottuk az alternatív megoldásokat.

Az életben, azt aktívan használják példát leírni a helyzeteket, tárgyakat és intézkedéseket. Elmagyarázni valakinek, mi a koncepció, mi alapján az általános ismeretek és építeni példák. „Ugyanaz, mint az egészséges Bob”, „valamint a kemény után 5 km futás”, „rossz, mint a másnaposság”, „savanyú, mint a citrom”, stb Az általunk használt ilyen kifejezéseket beszédében állandóan, és nem is veszik észre. Számunkra ezek alkalmazása könnyebb, mint a részletes leírást, és ez lehetővé teszi a hallgató számára, hogy érti meg jobban.

A következő szint

Ha azt veszi észre, hogy nem próbálják felidézni a részleteket a végrehajtás a design sablon, de egyszerűen részleteit az alkalmazás saját szavaikkal, hogy már kinőtte Shu szinten a jól ismert keleti filozófia Shuhari (én már régen írt annak alkalmazhatóságát Agilis módszerek és gyakorlat) . Szintjén Shu akkor kövesse a sablon, és nem veszik észre a hasznosságát, finomság és hatását. Szintjén Ha te mindannyian tisztában, és tudatosan elhagyni bizonyos mintákat, bírálta a döntést ezek alapján, módosíthatja egyes sablonok egy speciális helyzet összefüggésében.

Szeretjük az azonos szintű Ri. Ezen a szinten van egyáltalán megáll gondolkodni a sablonok használata. Solutions születnek természetesen alapján a tudást és készségeket, hogy már összegyűlt az évek során. Valahol fenyegető néhány sablont valahol a saját munka, ami lett a sablon az Ön számára ebben az összefüggésben. A fejemben abbahagyja dolgozik a láncot „a sablon megoldás”, és csak a „a döntés, hogy a sablont.” Ekkor ahelyett, kérdése van a konkrét tervezési minták az interjú, akkor menj a kérdést alkalmazhatóságának ezt az eszközt, és a való életből merített példát ...

következtetés

tervezési minták - az egyik fejlesztő eszközök, amely segít neki, hogy időt takarít meg, és jobb döntést. Mint bármely más eszköz a kezében meg is számos előnye van, de a többi - az egyetlen fájt. Próbáltam közvetíteni a példákat, hogy kapsz egy konkrét tervezési minták és hogyan kell gondolni. Remélem tette ...

Ui Az egyik képzések dicsérte könyv tervezési minták kezdőknek «Head First Design Patterns». Személy szerint nem olvasta, mert elég elsajátította a téma más forrásokból származó megbízható élvezet ebben a formátumban könyveket.