├── .browserslistrc ├── .editorconfig ├── .gitignore ├── LICENSE ├── README.md ├── angular.json ├── e2e ├── protractor.conf.js ├── src │ ├── app.e2e-spec.ts │ └── app.po.ts └── tsconfig.json ├── karma.conf.js ├── package.json ├── src ├── app │ ├── app.component.css │ ├── app.component.html │ ├── app.component.spec.ts │ ├── app.component.ts │ ├── app.module.ts │ ├── behavioral │ │ ├── chain-of-responsibility │ │ │ ├── cashier.class.ts │ │ │ ├── chain-of-responsibility.png │ │ │ ├── chain-of-responsibility.puml │ │ │ ├── handler.interface.ts │ │ │ ├── security-guard.class.ts │ │ │ ├── stadium-handler.class.ts │ │ │ └── waitress.class.ts │ │ ├── command │ │ │ ├── bank-employee.class.ts │ │ │ ├── bank.class.ts │ │ │ ├── cash-machine.class.ts │ │ │ ├── command.interface.ts │ │ │ ├── command.png │ │ │ ├── command.puml │ │ │ └── customer.class.ts │ │ ├── mediator │ │ │ ├── ambulance.class.ts │ │ │ ├── dispatch.class.ts │ │ │ ├── helicopter.class.ts │ │ │ ├── mediator.interface.ts │ │ │ ├── mediator.png │ │ │ ├── mediator.puml │ │ │ └── vehicle.class.ts │ │ ├── observer │ │ │ ├── book.class.ts │ │ │ ├── collector.class.ts │ │ │ ├── follower.interface.ts │ │ │ ├── novice.class.ts │ │ │ ├── observer.png │ │ │ └── observer.puml │ │ ├── specification │ │ │ ├── greater-than.class.ts │ │ │ ├── lower-than.class.ts │ │ │ ├── specification.png │ │ │ ├── specification.puml │ │ │ └── specs.class.ts │ │ ├── state │ │ │ ├── hydrogen-oxide.class.ts │ │ │ ├── state.class.ts │ │ │ ├── state.png │ │ │ ├── state.puml │ │ │ └── states.class.ts │ │ ├── strategy │ │ │ ├── defensive-strategy.class.ts │ │ │ ├── offensive-strategy.class.ts │ │ │ ├── strategy.interface.ts │ │ │ ├── strategy.png │ │ │ ├── strategy.puml │ │ │ └── team.class.ts │ │ └── template-method │ │ │ ├── hawaiian-pizza.class.ts │ │ │ ├── mexican-pizza.class.ts │ │ │ ├── pizza.class.ts │ │ │ ├── template-method.png │ │ │ └── template-method.puml │ ├── creational │ │ ├── abstract-factory │ │ │ ├── abstract-factory.png │ │ │ ├── abstract-factory.puml │ │ │ ├── chair.interface.ts │ │ │ ├── furniture-factory.interface.ts │ │ │ ├── modern-chair.class.ts │ │ │ ├── modern-factory.class.ts │ │ │ ├── modern-table.class.ts │ │ │ ├── retro-chair.class.ts │ │ │ ├── retro-factory.class.ts │ │ │ ├── retro-table.class.ts │ │ │ └── table.interface.ts │ │ ├── builder │ │ │ ├── builder.interface.ts │ │ │ ├── builder.png │ │ │ ├── builder.puml │ │ │ ├── car.class.ts │ │ │ ├── designer.class.ts │ │ │ └── manager.class.ts │ │ ├── factory-method │ │ │ ├── factory-method.png │ │ │ ├── factory-method.puml │ │ │ ├── masterpiece.interface.ts │ │ │ ├── painter-studio.class.ts │ │ │ ├── painter.class.ts │ │ │ ├── sculptor-studio.class.ts │ │ │ ├── sculptor.class.ts │ │ │ └── studio.class.ts │ │ ├── fluent-interface │ │ │ ├── album.class.ts │ │ │ ├── fluent-interface.png │ │ │ ├── fluent-interface.puml │ │ │ ├── fluent.interface.ts │ │ │ └── label.class.ts │ │ └── singleton │ │ │ ├── king.class.ts │ │ │ ├── singleton.png │ │ │ └── singleton.puml │ └── structural │ │ ├── adapter │ │ ├── adapter.class.ts │ │ ├── adapter.png │ │ ├── adapter.puml │ │ ├── movie.class.ts │ │ └── remake.class.ts │ │ ├── bridge │ │ ├── bridge.png │ │ ├── bridge.puml │ │ ├── decoder.class.ts │ │ ├── device.interface.ts │ │ ├── embedded-control.class.ts │ │ ├── flat-screen.class.ts │ │ └── remote-control.class.ts │ │ ├── composite │ │ ├── composite.png │ │ ├── composite.puml │ │ ├── department.class.ts │ │ ├── employee.class.ts │ │ └── entity.class.ts │ │ ├── decorator │ │ ├── clothing-store.class.ts │ │ ├── decorator.png │ │ ├── decorator.puml │ │ ├── jeweller.class.ts │ │ ├── person.interface.ts │ │ ├── shop.class.ts │ │ └── woman.class.ts │ │ ├── facade │ │ ├── barista.class.ts │ │ ├── cook.class.ts │ │ ├── facade.png │ │ ├── facade.puml │ │ └── waiter.class.ts │ │ └── proxy │ │ ├── hospital.interface.ts │ │ ├── pandemic-patient.class.ts │ │ ├── patient.class.ts │ │ ├── proxy.png │ │ └── proxy.puml ├── assets │ └── .gitkeep ├── environments │ ├── environment.prod.ts │ └── environment.ts ├── favicon.ico ├── index.html ├── main.ts ├── polyfills.ts ├── styles.css └── test.ts ├── tsconfig.app.json ├── tsconfig.json ├── tsconfig.spec.json └── tslint.json /.browserslistrc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/.browserslistrc -------------------------------------------------------------------------------- /.editorconfig: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/.editorconfig -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/.gitignore -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/README.md -------------------------------------------------------------------------------- /angular.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/angular.json -------------------------------------------------------------------------------- /e2e/protractor.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/e2e/protractor.conf.js -------------------------------------------------------------------------------- /e2e/src/app.e2e-spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/e2e/src/app.e2e-spec.ts -------------------------------------------------------------------------------- /e2e/src/app.po.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/e2e/src/app.po.ts -------------------------------------------------------------------------------- /e2e/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/e2e/tsconfig.json -------------------------------------------------------------------------------- /karma.conf.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/karma.conf.js -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/package.json -------------------------------------------------------------------------------- /src/app/app.component.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/app.component.css -------------------------------------------------------------------------------- /src/app/app.component.html: -------------------------------------------------------------------------------- 1 |
{{title}}
2 | -------------------------------------------------------------------------------- /src/app/app.component.spec.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/app.component.spec.ts -------------------------------------------------------------------------------- /src/app/app.component.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/app.component.ts -------------------------------------------------------------------------------- /src/app/app.module.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/app.module.ts -------------------------------------------------------------------------------- /src/app/behavioral/chain-of-responsibility/cashier.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/chain-of-responsibility/cashier.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/chain-of-responsibility/chain-of-responsibility.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/chain-of-responsibility/chain-of-responsibility.png -------------------------------------------------------------------------------- /src/app/behavioral/chain-of-responsibility/chain-of-responsibility.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/chain-of-responsibility/chain-of-responsibility.puml -------------------------------------------------------------------------------- /src/app/behavioral/chain-of-responsibility/handler.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/chain-of-responsibility/handler.interface.ts -------------------------------------------------------------------------------- /src/app/behavioral/chain-of-responsibility/security-guard.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/chain-of-responsibility/security-guard.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/chain-of-responsibility/stadium-handler.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/chain-of-responsibility/stadium-handler.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/chain-of-responsibility/waitress.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/chain-of-responsibility/waitress.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/command/bank-employee.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/command/bank-employee.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/command/bank.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/command/bank.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/command/cash-machine.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/command/cash-machine.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/command/command.interface.ts: -------------------------------------------------------------------------------- 1 | export interface Command { 2 | execute(): string; 3 | } 4 | -------------------------------------------------------------------------------- /src/app/behavioral/command/command.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/command/command.png -------------------------------------------------------------------------------- /src/app/behavioral/command/command.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/command/command.puml -------------------------------------------------------------------------------- /src/app/behavioral/command/customer.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/command/customer.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/mediator/ambulance.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/mediator/ambulance.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/mediator/dispatch.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/mediator/dispatch.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/mediator/helicopter.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/mediator/helicopter.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/mediator/mediator.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/mediator/mediator.interface.ts -------------------------------------------------------------------------------- /src/app/behavioral/mediator/mediator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/mediator/mediator.png -------------------------------------------------------------------------------- /src/app/behavioral/mediator/mediator.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/mediator/mediator.puml -------------------------------------------------------------------------------- /src/app/behavioral/mediator/vehicle.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/mediator/vehicle.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/observer/book.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/observer/book.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/observer/collector.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/observer/collector.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/observer/follower.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/observer/follower.interface.ts -------------------------------------------------------------------------------- /src/app/behavioral/observer/novice.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/observer/novice.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/observer/observer.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/observer/observer.png -------------------------------------------------------------------------------- /src/app/behavioral/observer/observer.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/observer/observer.puml -------------------------------------------------------------------------------- /src/app/behavioral/specification/greater-than.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/specification/greater-than.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/specification/lower-than.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/specification/lower-than.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/specification/specification.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/specification/specification.png -------------------------------------------------------------------------------- /src/app/behavioral/specification/specification.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/specification/specification.puml -------------------------------------------------------------------------------- /src/app/behavioral/specification/specs.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/specification/specs.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/state/hydrogen-oxide.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/state/hydrogen-oxide.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/state/state.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/state/state.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/state/state.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/state/state.png -------------------------------------------------------------------------------- /src/app/behavioral/state/state.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/state/state.puml -------------------------------------------------------------------------------- /src/app/behavioral/state/states.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/state/states.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/strategy/defensive-strategy.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/strategy/defensive-strategy.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/strategy/offensive-strategy.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/strategy/offensive-strategy.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/strategy/strategy.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/strategy/strategy.interface.ts -------------------------------------------------------------------------------- /src/app/behavioral/strategy/strategy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/strategy/strategy.png -------------------------------------------------------------------------------- /src/app/behavioral/strategy/strategy.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/strategy/strategy.puml -------------------------------------------------------------------------------- /src/app/behavioral/strategy/team.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/strategy/team.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/template-method/hawaiian-pizza.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/template-method/hawaiian-pizza.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/template-method/mexican-pizza.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/template-method/mexican-pizza.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/template-method/pizza.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/template-method/pizza.class.ts -------------------------------------------------------------------------------- /src/app/behavioral/template-method/template-method.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/template-method/template-method.png -------------------------------------------------------------------------------- /src/app/behavioral/template-method/template-method.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/behavioral/template-method/template-method.puml -------------------------------------------------------------------------------- /src/app/creational/abstract-factory/abstract-factory.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/abstract-factory/abstract-factory.png -------------------------------------------------------------------------------- /src/app/creational/abstract-factory/abstract-factory.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/abstract-factory/abstract-factory.puml -------------------------------------------------------------------------------- /src/app/creational/abstract-factory/chair.interface.ts: -------------------------------------------------------------------------------- 1 | export interface Chair { 2 | showOffer(): string; 3 | } 4 | -------------------------------------------------------------------------------- /src/app/creational/abstract-factory/furniture-factory.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/abstract-factory/furniture-factory.interface.ts -------------------------------------------------------------------------------- /src/app/creational/abstract-factory/modern-chair.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/abstract-factory/modern-chair.class.ts -------------------------------------------------------------------------------- /src/app/creational/abstract-factory/modern-factory.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/abstract-factory/modern-factory.class.ts -------------------------------------------------------------------------------- /src/app/creational/abstract-factory/modern-table.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/abstract-factory/modern-table.class.ts -------------------------------------------------------------------------------- /src/app/creational/abstract-factory/retro-chair.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/abstract-factory/retro-chair.class.ts -------------------------------------------------------------------------------- /src/app/creational/abstract-factory/retro-factory.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/abstract-factory/retro-factory.class.ts -------------------------------------------------------------------------------- /src/app/creational/abstract-factory/retro-table.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/abstract-factory/retro-table.class.ts -------------------------------------------------------------------------------- /src/app/creational/abstract-factory/table.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/abstract-factory/table.interface.ts -------------------------------------------------------------------------------- /src/app/creational/builder/builder.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/builder/builder.interface.ts -------------------------------------------------------------------------------- /src/app/creational/builder/builder.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/builder/builder.png -------------------------------------------------------------------------------- /src/app/creational/builder/builder.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/builder/builder.puml -------------------------------------------------------------------------------- /src/app/creational/builder/car.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/builder/car.class.ts -------------------------------------------------------------------------------- /src/app/creational/builder/designer.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/builder/designer.class.ts -------------------------------------------------------------------------------- /src/app/creational/builder/manager.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/builder/manager.class.ts -------------------------------------------------------------------------------- /src/app/creational/factory-method/factory-method.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/factory-method/factory-method.png -------------------------------------------------------------------------------- /src/app/creational/factory-method/factory-method.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/factory-method/factory-method.puml -------------------------------------------------------------------------------- /src/app/creational/factory-method/masterpiece.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/factory-method/masterpiece.interface.ts -------------------------------------------------------------------------------- /src/app/creational/factory-method/painter-studio.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/factory-method/painter-studio.class.ts -------------------------------------------------------------------------------- /src/app/creational/factory-method/painter.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/factory-method/painter.class.ts -------------------------------------------------------------------------------- /src/app/creational/factory-method/sculptor-studio.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/factory-method/sculptor-studio.class.ts -------------------------------------------------------------------------------- /src/app/creational/factory-method/sculptor.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/factory-method/sculptor.class.ts -------------------------------------------------------------------------------- /src/app/creational/factory-method/studio.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/factory-method/studio.class.ts -------------------------------------------------------------------------------- /src/app/creational/fluent-interface/album.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/fluent-interface/album.class.ts -------------------------------------------------------------------------------- /src/app/creational/fluent-interface/fluent-interface.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/fluent-interface/fluent-interface.png -------------------------------------------------------------------------------- /src/app/creational/fluent-interface/fluent-interface.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/fluent-interface/fluent-interface.puml -------------------------------------------------------------------------------- /src/app/creational/fluent-interface/fluent.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/fluent-interface/fluent.interface.ts -------------------------------------------------------------------------------- /src/app/creational/fluent-interface/label.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/fluent-interface/label.class.ts -------------------------------------------------------------------------------- /src/app/creational/singleton/king.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/singleton/king.class.ts -------------------------------------------------------------------------------- /src/app/creational/singleton/singleton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/singleton/singleton.png -------------------------------------------------------------------------------- /src/app/creational/singleton/singleton.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/creational/singleton/singleton.puml -------------------------------------------------------------------------------- /src/app/structural/adapter/adapter.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/adapter/adapter.class.ts -------------------------------------------------------------------------------- /src/app/structural/adapter/adapter.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/adapter/adapter.png -------------------------------------------------------------------------------- /src/app/structural/adapter/adapter.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/adapter/adapter.puml -------------------------------------------------------------------------------- /src/app/structural/adapter/movie.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/adapter/movie.class.ts -------------------------------------------------------------------------------- /src/app/structural/adapter/remake.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/adapter/remake.class.ts -------------------------------------------------------------------------------- /src/app/structural/bridge/bridge.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/bridge/bridge.png -------------------------------------------------------------------------------- /src/app/structural/bridge/bridge.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/bridge/bridge.puml -------------------------------------------------------------------------------- /src/app/structural/bridge/decoder.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/bridge/decoder.class.ts -------------------------------------------------------------------------------- /src/app/structural/bridge/device.interface.ts: -------------------------------------------------------------------------------- 1 | export interface Device { 2 | blink(): string; 3 | } 4 | -------------------------------------------------------------------------------- /src/app/structural/bridge/embedded-control.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/bridge/embedded-control.class.ts -------------------------------------------------------------------------------- /src/app/structural/bridge/flat-screen.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/bridge/flat-screen.class.ts -------------------------------------------------------------------------------- /src/app/structural/bridge/remote-control.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/bridge/remote-control.class.ts -------------------------------------------------------------------------------- /src/app/structural/composite/composite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/composite/composite.png -------------------------------------------------------------------------------- /src/app/structural/composite/composite.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/composite/composite.puml -------------------------------------------------------------------------------- /src/app/structural/composite/department.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/composite/department.class.ts -------------------------------------------------------------------------------- /src/app/structural/composite/employee.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/composite/employee.class.ts -------------------------------------------------------------------------------- /src/app/structural/composite/entity.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/composite/entity.class.ts -------------------------------------------------------------------------------- /src/app/structural/decorator/clothing-store.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/decorator/clothing-store.class.ts -------------------------------------------------------------------------------- /src/app/structural/decorator/decorator.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/decorator/decorator.png -------------------------------------------------------------------------------- /src/app/structural/decorator/decorator.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/decorator/decorator.puml -------------------------------------------------------------------------------- /src/app/structural/decorator/jeweller.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/decorator/jeweller.class.ts -------------------------------------------------------------------------------- /src/app/structural/decorator/person.interface.ts: -------------------------------------------------------------------------------- 1 | export interface Person { 2 | wear(): string; 3 | } 4 | -------------------------------------------------------------------------------- /src/app/structural/decorator/shop.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/decorator/shop.class.ts -------------------------------------------------------------------------------- /src/app/structural/decorator/woman.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/decorator/woman.class.ts -------------------------------------------------------------------------------- /src/app/structural/facade/barista.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/facade/barista.class.ts -------------------------------------------------------------------------------- /src/app/structural/facade/cook.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/facade/cook.class.ts -------------------------------------------------------------------------------- /src/app/structural/facade/facade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/facade/facade.png -------------------------------------------------------------------------------- /src/app/structural/facade/facade.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/facade/facade.puml -------------------------------------------------------------------------------- /src/app/structural/facade/waiter.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/facade/waiter.class.ts -------------------------------------------------------------------------------- /src/app/structural/proxy/hospital.interface.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/proxy/hospital.interface.ts -------------------------------------------------------------------------------- /src/app/structural/proxy/pandemic-patient.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/proxy/pandemic-patient.class.ts -------------------------------------------------------------------------------- /src/app/structural/proxy/patient.class.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/proxy/patient.class.ts -------------------------------------------------------------------------------- /src/app/structural/proxy/proxy.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/proxy/proxy.png -------------------------------------------------------------------------------- /src/app/structural/proxy/proxy.puml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/app/structural/proxy/proxy.puml -------------------------------------------------------------------------------- /src/assets/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/environments/environment.prod.ts: -------------------------------------------------------------------------------- 1 | export const environment = { 2 | production: true 3 | }; 4 | -------------------------------------------------------------------------------- /src/environments/environment.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/environments/environment.ts -------------------------------------------------------------------------------- /src/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/favicon.ico -------------------------------------------------------------------------------- /src/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/index.html -------------------------------------------------------------------------------- /src/main.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/main.ts -------------------------------------------------------------------------------- /src/polyfills.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/polyfills.ts -------------------------------------------------------------------------------- /src/styles.css: -------------------------------------------------------------------------------- 1 | * { 2 | margin: 0; 3 | background-color: #232126; 4 | } 5 | -------------------------------------------------------------------------------- /src/test.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/src/test.ts -------------------------------------------------------------------------------- /tsconfig.app.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/tsconfig.app.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/tsconfig.json -------------------------------------------------------------------------------- /tsconfig.spec.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/tsconfig.spec.json -------------------------------------------------------------------------------- /tslint.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/plkpiotr/design-patterns/HEAD/tslint.json --------------------------------------------------------------------------------