Code Monkey home page Code Monkey logo

design-patterns---head-first-with-swift's Introduction

Design-Patterns---Head-First-With-Swift

This is book named: "Head First Design Patterns: A Brain-Friendly Guide", with design patterns that i wrote in Swift instead C# and Java that is used in this book.

Strategy Pattern

Strategy pattern predstavlja familiju alogitama, enkapsulira svaki pojedinacno ali ih i cini medjosbno inter-operabilnim. Strategy omogucava da su algoritmi nezavisni i da se razlikuju od zavisnosti od klijenata koji ih koriste.

Strategy pattern : UML Strategy pattern

Observer Pattern

Observer pattern definise 1 na N zavisnosti izmedju objekata tako da kad jedan objekat promeni svoje stanje, svi zavisni objekti budu obavesteni o tome i azurairani automatski.

Observer pattern : UML Observer pattern

Decorator Pattern

Dekorator pattern dinamicki dodaje dodatne funkcionalnosti objektu i pruza fleksibilnu alternativu nasledjivanju upravo radi prosirivanja funkcionalnosti.

Decorator pattern : UML Decorator pattern

Factory Pattern

Factory Method Pattern definise interfejs za kreiranje objekta, ali prepusta subklasama da odaberu koji objekat ce instancirati. On omogucavama nadklasama da instanciranje prepuste podklasama

Simple Factory nije Design Pattern, vec idiom (osobenost) programiranja i cesto se zbog slicnosti mesa sa Factory Patternom.

Factory pattern : UML Factory pattern

Abstract Factory Pattern

Abstract Factory obezbedjuje interfejs za kreiranje familije poveanih ili medjuzavisnih objekata bez specificiranja njihovih konkretnih klasa.

Abstract Factory pattern : UML Abstract Factory pattern

Command Pattern

Command Pattern enkapsulira request kao objekat, tako da dozvoljava da se objektima moze manipulisati pomocu raznih parametara kao sto su razliciti requestovi, redosledi (redovi) ili log requestovi, a podrzava i prekidanje operacija drugom ili istom operacijom.

Command pattern : UML Command pattern

Adapter Pattern

Adapter patern pretvara interfejs klase u pogodan interfejs koji neka druga klasa ocekuje, on omogucuje da klase budu kompatibilne iako to zaista nisu. Adapter patern je ukrqtko receno wrapper.

Adapter pattern : UML Adapter pattern

Proxy Pattern

Proxy Pattern obezbedjuje surogat ili neki drzac za odredjeni objekat, da bi se tom objektu moglo pristupiti. Postoje razni proxy patterni, npr virtualni, kesirani, remote, sigurnosni, sinhronizujuci, itd. Remote proxy sluzi kad hocu da pristupim nekom izvoru koji je na nekom drugom mestu (drugi modul, podatak na nekom serveru,โ€ฆ). Virtulani proxy kontrolise pristup objektu koji je skup za kreiranje (ovo moze biti kesiranje, primer sa Book Parserom). Protection proxy je menadzer pristupa, npr samo korisnici koji imaju odgovorajucu dozvolu mogu da pristupe pravom objektu.

Proxy pattern : UML Proxy pattern

Bridge Pattern

Bridge Pattern ima namenu da rasclani funkcionalnost na apstrakciju i implementaciju, tako da se dobiju dva nezavisna dela koda koji se isto tako nezavisno mogu menjati.

Bridge pattern : UML Bridge pattern

Template Method Pattern

Template Method Pattern definise kostur algoritma operacija, ostavljajuci neke korake algoritma subklasama na razradu uz mogucnost da izmene te korake ali tako da ne menjaju kostur algoritma.

Template Method pattern : UML Template Method pattern

Composite Pattern

Composite pattern omogucava da se seriji obejkata naprave izmene kao sto su izmene koje bi mogle da se primene na pojedinacni objekat. Time se postize mogucnost da se ne vodi racuna da li si u kompozitnom delu ili zavrsnom delu (leaf-u). Composite pattern je drvo strukture, tako da delovi strukture predstavljaju istovremeno i celine i delove ukupne hijerarhije drveta, a omogucava se interakcija sa pojedinacnim objektima na isti nacin kao i sa familijom objekata.

S O L ( I ) D Klijenti ne treba da budu obavezni da se podvrgajvaju interfejsu koji ima metode koje konkretni klijent ne koristi.

Composite pattern : UML Composite pattern

design-patterns---head-first-with-swift's People

Contributors

vukovi avatar

Stargazers

daonguyen avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.