Sobes.tech
Middle

Kokius projektavimo modelius žinote?

sobes.tech AI

Atsakymas iš AI

Kūrėjai:

  • Faktoriaus metodas (Factory Method): Apibrėžia sąsają objektui kurti, bet leidžia pogrupiams nuspręsti, kurį klasės egzempliorių kurti.
  • Abstract Factory (Abstract Factory): Teikia sąsają šeimoms, susijusioms arba priklausomoms objektų kūrimui, be jų konkrečių klasių nurodymo.
  • Konstruktorius (Builder): Atskiria sudėtingo objekto konstravimą nuo jo pateikimo, leidžiant kurti įvairius pateikimus naudojant tą patį konstravimo procesą.
  • Prototipas (Prototype): Kuria naujus objektus kopijuodamas esamą egzempliorių.
  • Singleton (Singleton): Užtikrina, kad klasė turėtų tik vieną egzempliorių ir suteikia globalų prieigos tašką prie šio egzemplioriaus.

Struktūriniai:

  • Adapteris (Adapter): Paverčia vieno klases sąsają į kitą, kurią klientai tikisi.
  • Tiltas (Bridge): Atskiria abstrakciją nuo jos įgyvendinimo, kad jie galėtų keistis nepriklausomai.
  • Kompozitas (Composite): Sudeda objektus į medžio struktūras, kad atstovautų dalis-visas hierarchijas. Kompozitas leidžia klientams dirbti su atskirais objektais ir jų kompozicijomis vienodai.
  • Dekoratorius (Decorator): Dinamiškai prideda naujas atsakomybes objektui. Tai lankstesnė alternatyva pogrupiams, skirtoms išplėsti funkcionalumą.
  • Fasadas (Facade): Suteikia vieningą sąsają po subsystemo sąsajų rinkiniu. Fasadas apibrėžia aukšto lygio sąsają, kuri palengvina subsystemo naudojimą.
  • Skraidantis svoris (Flyweight): Efektyviai dalijasi daug panašių objektų.
  • Proksis (Proxy): Suteikia pakeičiantį objektą, kuris kontroliuoja prieigą prie kito objekto.

Elgesio:

  • Atsakomybės grandinė (Chain of Responsibility): Leidžia perduoti užklausas eilės tvarka per apdorotojus. Kiekvienas apdorotojas nusprendžia, ar apdoroti užklausą, ar ją perduoti kitam.
  • Komanda (Command): Inkapusliuoja užklausą kaip objektą, leidžiant parametrizuoti klientus įvairiomis užklausomis, eilėje juos sudėti, registruoti arba atšaukti.
  • Iteratorius (Iterator): Suteikia būdą nuosekliai pasiekti sudėtinius objektus neskelbiant jų vidinės struktūros.
  • Mediatorius (Mediator): Apibrėžia objektą, kuris inkapsuliuoja, kaip sąveikauja objektų rinkinys. Mediatorius skatina silpną ryšį, išvengiant tiesioginių nuorodų tarp objektų.
  • Memento (Memento): Be pažeidžiant inkapsuliaciją, fiksuoja ir išorėje išsaugo objekto vidinę būseną, kad vėliau būtų galima ją atkurti.
  • Stebėtojas (Observer): Apibrėžia "vienas su daug" priklausomybę tarp objektų, tokiu būdu, kad kai keičiasi vieno objekto būsena, visi priklausomi automatiškai informuojami ir atnaujinami.
  • Būsenos (State): Leidžia objektui keisti savo elgesį, kai keičiasi jo vidinė būsena. Atrodo, tarsi objektas keistų savo klasę.
  • Strategija (Strategy): Apibrėžia algoritmų šeimą, inkapsuliuoja kiekvieną algoritmą ir leidžia juos keisti tarpusavyje. Strategija leidžia algoritmui keistis nepriklausomai nuo klientų, kurie jį naudoja.
  • Šablono metodas (Template Method): Apibrėžia algoritmo skeletą operacijoje, paliekant kai kuriuos žingsnius pogrupiams. Šablono metodas leidžia pogrupiams perrašyti kai kuriuos algoritmo žingsnius, nekeičiant jo struktūros.
  • Lankytojas (Visitor): Atstovauja operaciją, kuri turi būti vykdoma objektų struktūros elementuose. Lankytojas leidžia apibrėžti naują operaciją be elementų klasių keitimo, kuriais jis veikia.