├── .gitignore ├── .vscode └── launch.json ├── LICENSE ├── README.md ├── composer.json ├── composer.lock ├── demo.csv ├── demo.jpg └── src ├── Behavioral ├── ChainOfResponsibility │ ├── ApiMiddleware.php │ ├── App.php │ ├── GetMiddleware.php │ ├── Middleware.php │ ├── MiddlewareError.php │ ├── Request.php │ ├── Response.php │ ├── index.php │ └── server.sh ├── Command │ ├── Client.php │ ├── Command.php │ ├── CreateListing.php │ ├── DeleteListing.php │ ├── ListingRepository.php │ └── demo.php ├── Iterator │ ├── Employee.php │ ├── Team.php │ ├── TeamIterator.php │ └── demo.php ├── NullObject │ ├── ArrayCache.php │ ├── Cache.php │ └── DummyCache.php ├── Observer │ ├── Communicator.php │ ├── Employee.php │ ├── HumanResources.php │ └── demo.php ├── Specification │ ├── AndSpecification.php │ ├── Candidate.php │ ├── ConvictedSpecification.php │ ├── Education.php │ ├── MaxAgeSpecification.php │ ├── NotSpecification.php │ ├── OrSpecification.php │ ├── RecentGraduateSpecification.php │ ├── Specification.php │ ├── StudentSpecification.php │ ├── WorkExperience.php │ ├── WorkExperienceSpecification.php │ └── demo.php ├── State │ ├── Angry.php │ ├── Happy.php │ ├── Mood.php │ ├── Neutral.php │ ├── Person.php │ └── demo.php ├── Strategy │ ├── Context.php │ ├── FormatterFactory.php │ ├── JSONFormatter.php │ ├── OutputFormatter.php │ ├── OutputType.php │ ├── StringFormatter.php │ ├── XMLFormatter.php │ └── demo.php ├── TemplateMethod │ ├── ActionMovie.php │ ├── ComedyMovie.php │ ├── Movie.php │ └── demo.php └── Visitor │ ├── SickLeave.php │ ├── SickLeaveReport.php │ ├── Student.php │ ├── University.php │ ├── Visitable.php │ ├── Visitor.php │ └── demo.php ├── Creational ├── AbstractFactory │ ├── DeviceFactory.php │ ├── DisplayFactory.php │ ├── IndoorDisplay.php │ ├── IndoorIot.php │ ├── IndoorProduct.php │ ├── IotFactory.php │ ├── OutdoorDisplay.php │ ├── OutdoorIot.php │ ├── OutdoorProduct.php │ └── demo.php ├── Builder │ ├── Device.php │ ├── DeviceBuilder.php │ ├── Director.php │ ├── InteractiveMirror.php │ ├── InteractiveMirrorBuilder.php │ └── demo.php ├── FactoryMethod │ ├── AudioBox.php │ ├── Box.php │ ├── BoxFactory.php │ ├── Factory.php │ ├── FileItem.php │ ├── FileType.php │ ├── ImgBox.php │ ├── VideoBox.php │ └── demo.php ├── Prototype │ ├── Computer.php │ ├── Device.php │ ├── DeviceGroup.php │ └── demo.php └── Singleton │ └── ActiveUser.php └── Structural ├── Adapter ├── .env.example ├── AWSFileStorage.php ├── Client.php ├── File.php ├── FileAdapter.php ├── LocalFileStorage.php ├── assets │ └── logo.png ├── index.php ├── server.sh └── storage │ └── .gitkeep ├── Bridge ├── Blurred.php ├── Content.php ├── Display.php ├── Image.php ├── Standard.php ├── Video.php └── demo.php ├── Composite ├── Budgeted.php ├── BudgetedComposite.php ├── Department.php ├── Employee.php └── demo.php ├── Decorator ├── Product.php ├── ProductDecorator.php ├── Shirt.php ├── SummerSale.php ├── TV.php ├── WinterSale.php └── demo.php ├── DependencyInjection ├── Storage.php ├── User.php ├── UserStorage.php └── UserTest.php ├── Facade ├── Image.php └── demo.php ├── FluentInterface ├── QueryBuilder.php └── demo.php ├── Flyweight ├── Device.php ├── DeviceStorage.php ├── DeviceType.php ├── DeviceTypeFactory.php ├── Generator.php └── demo.php └── Proxy ├── AuthFile.php ├── File.php ├── FileProvider.php ├── User.php └── demo.php /.gitignore: -------------------------------------------------------------------------------- 1 | vendor 2 | .idea 3 | .env -------------------------------------------------------------------------------- /.vscode/launch.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/.vscode/launch.json -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/README.md -------------------------------------------------------------------------------- /composer.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/composer.json -------------------------------------------------------------------------------- /composer.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/composer.lock -------------------------------------------------------------------------------- /demo.csv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/demo.csv -------------------------------------------------------------------------------- /demo.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/demo.jpg -------------------------------------------------------------------------------- /src/Behavioral/ChainOfResponsibility/ApiMiddleware.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/ChainOfResponsibility/ApiMiddleware.php -------------------------------------------------------------------------------- /src/Behavioral/ChainOfResponsibility/App.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/ChainOfResponsibility/App.php -------------------------------------------------------------------------------- /src/Behavioral/ChainOfResponsibility/GetMiddleware.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/ChainOfResponsibility/GetMiddleware.php -------------------------------------------------------------------------------- /src/Behavioral/ChainOfResponsibility/Middleware.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/ChainOfResponsibility/Middleware.php -------------------------------------------------------------------------------- /src/Behavioral/ChainOfResponsibility/MiddlewareError.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/ChainOfResponsibility/MiddlewareError.php -------------------------------------------------------------------------------- /src/Behavioral/ChainOfResponsibility/Request.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/ChainOfResponsibility/Request.php -------------------------------------------------------------------------------- /src/Behavioral/ChainOfResponsibility/Response.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/ChainOfResponsibility/Response.php -------------------------------------------------------------------------------- /src/Behavioral/ChainOfResponsibility/index.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/ChainOfResponsibility/index.php -------------------------------------------------------------------------------- /src/Behavioral/ChainOfResponsibility/server.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | php -S localhost:8000 4 | -------------------------------------------------------------------------------- /src/Behavioral/Command/Client.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Command/Client.php -------------------------------------------------------------------------------- /src/Behavioral/Command/Command.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Command/Command.php -------------------------------------------------------------------------------- /src/Behavioral/Command/CreateListing.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Command/CreateListing.php -------------------------------------------------------------------------------- /src/Behavioral/Command/DeleteListing.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Command/DeleteListing.php -------------------------------------------------------------------------------- /src/Behavioral/Command/ListingRepository.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Command/ListingRepository.php -------------------------------------------------------------------------------- /src/Behavioral/Command/demo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Command/demo.php -------------------------------------------------------------------------------- /src/Behavioral/Iterator/Employee.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Iterator/Employee.php -------------------------------------------------------------------------------- /src/Behavioral/Iterator/Team.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Iterator/Team.php -------------------------------------------------------------------------------- /src/Behavioral/Iterator/TeamIterator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Iterator/TeamIterator.php -------------------------------------------------------------------------------- /src/Behavioral/Iterator/demo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Iterator/demo.php -------------------------------------------------------------------------------- /src/Behavioral/NullObject/ArrayCache.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/NullObject/ArrayCache.php -------------------------------------------------------------------------------- /src/Behavioral/NullObject/Cache.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/NullObject/Cache.php -------------------------------------------------------------------------------- /src/Behavioral/NullObject/DummyCache.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/NullObject/DummyCache.php -------------------------------------------------------------------------------- /src/Behavioral/Observer/Communicator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Observer/Communicator.php -------------------------------------------------------------------------------- /src/Behavioral/Observer/Employee.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Observer/Employee.php -------------------------------------------------------------------------------- /src/Behavioral/Observer/HumanResources.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Observer/HumanResources.php -------------------------------------------------------------------------------- /src/Behavioral/Observer/demo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Observer/demo.php -------------------------------------------------------------------------------- /src/Behavioral/Specification/AndSpecification.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Specification/AndSpecification.php -------------------------------------------------------------------------------- /src/Behavioral/Specification/Candidate.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Specification/Candidate.php -------------------------------------------------------------------------------- /src/Behavioral/Specification/ConvictedSpecification.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Specification/ConvictedSpecification.php -------------------------------------------------------------------------------- /src/Behavioral/Specification/Education.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Specification/Education.php -------------------------------------------------------------------------------- /src/Behavioral/Specification/MaxAgeSpecification.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Specification/MaxAgeSpecification.php -------------------------------------------------------------------------------- /src/Behavioral/Specification/NotSpecification.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Specification/NotSpecification.php -------------------------------------------------------------------------------- /src/Behavioral/Specification/OrSpecification.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Specification/OrSpecification.php -------------------------------------------------------------------------------- /src/Behavioral/Specification/RecentGraduateSpecification.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Specification/RecentGraduateSpecification.php -------------------------------------------------------------------------------- /src/Behavioral/Specification/Specification.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Specification/Specification.php -------------------------------------------------------------------------------- /src/Behavioral/Specification/StudentSpecification.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Specification/StudentSpecification.php -------------------------------------------------------------------------------- /src/Behavioral/Specification/WorkExperience.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Specification/WorkExperience.php -------------------------------------------------------------------------------- /src/Behavioral/Specification/WorkExperienceSpecification.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Specification/WorkExperienceSpecification.php -------------------------------------------------------------------------------- /src/Behavioral/Specification/demo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Specification/demo.php -------------------------------------------------------------------------------- /src/Behavioral/State/Angry.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/State/Angry.php -------------------------------------------------------------------------------- /src/Behavioral/State/Happy.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/State/Happy.php -------------------------------------------------------------------------------- /src/Behavioral/State/Mood.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/State/Mood.php -------------------------------------------------------------------------------- /src/Behavioral/State/Neutral.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/State/Neutral.php -------------------------------------------------------------------------------- /src/Behavioral/State/Person.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/State/Person.php -------------------------------------------------------------------------------- /src/Behavioral/State/demo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/State/demo.php -------------------------------------------------------------------------------- /src/Behavioral/Strategy/Context.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Strategy/Context.php -------------------------------------------------------------------------------- /src/Behavioral/Strategy/FormatterFactory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Strategy/FormatterFactory.php -------------------------------------------------------------------------------- /src/Behavioral/Strategy/JSONFormatter.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Strategy/JSONFormatter.php -------------------------------------------------------------------------------- /src/Behavioral/Strategy/OutputFormatter.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Strategy/OutputFormatter.php -------------------------------------------------------------------------------- /src/Behavioral/Strategy/OutputType.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Strategy/OutputType.php -------------------------------------------------------------------------------- /src/Behavioral/Strategy/StringFormatter.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Strategy/StringFormatter.php -------------------------------------------------------------------------------- /src/Behavioral/Strategy/XMLFormatter.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Strategy/XMLFormatter.php -------------------------------------------------------------------------------- /src/Behavioral/Strategy/demo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Strategy/demo.php -------------------------------------------------------------------------------- /src/Behavioral/TemplateMethod/ActionMovie.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/TemplateMethod/ActionMovie.php -------------------------------------------------------------------------------- /src/Behavioral/TemplateMethod/ComedyMovie.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/TemplateMethod/ComedyMovie.php -------------------------------------------------------------------------------- /src/Behavioral/TemplateMethod/Movie.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/TemplateMethod/Movie.php -------------------------------------------------------------------------------- /src/Behavioral/TemplateMethod/demo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/TemplateMethod/demo.php -------------------------------------------------------------------------------- /src/Behavioral/Visitor/SickLeave.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Visitor/SickLeave.php -------------------------------------------------------------------------------- /src/Behavioral/Visitor/SickLeaveReport.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Visitor/SickLeaveReport.php -------------------------------------------------------------------------------- /src/Behavioral/Visitor/Student.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Visitor/Student.php -------------------------------------------------------------------------------- /src/Behavioral/Visitor/University.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Visitor/University.php -------------------------------------------------------------------------------- /src/Behavioral/Visitor/Visitable.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Visitor/Visitable.php -------------------------------------------------------------------------------- /src/Behavioral/Visitor/Visitor.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Visitor/Visitor.php -------------------------------------------------------------------------------- /src/Behavioral/Visitor/demo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Behavioral/Visitor/demo.php -------------------------------------------------------------------------------- /src/Creational/AbstractFactory/DeviceFactory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/AbstractFactory/DeviceFactory.php -------------------------------------------------------------------------------- /src/Creational/AbstractFactory/DisplayFactory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/AbstractFactory/DisplayFactory.php -------------------------------------------------------------------------------- /src/Creational/AbstractFactory/IndoorDisplay.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/AbstractFactory/IndoorDisplay.php -------------------------------------------------------------------------------- /src/Creational/AbstractFactory/IndoorIot.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/AbstractFactory/IndoorIot.php -------------------------------------------------------------------------------- /src/Creational/AbstractFactory/IndoorProduct.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/AbstractFactory/IndoorProduct.php -------------------------------------------------------------------------------- /src/Creational/AbstractFactory/IotFactory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/AbstractFactory/IotFactory.php -------------------------------------------------------------------------------- /src/Creational/AbstractFactory/OutdoorDisplay.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/AbstractFactory/OutdoorDisplay.php -------------------------------------------------------------------------------- /src/Creational/AbstractFactory/OutdoorIot.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/AbstractFactory/OutdoorIot.php -------------------------------------------------------------------------------- /src/Creational/AbstractFactory/OutdoorProduct.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/AbstractFactory/OutdoorProduct.php -------------------------------------------------------------------------------- /src/Creational/AbstractFactory/demo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/AbstractFactory/demo.php -------------------------------------------------------------------------------- /src/Creational/Builder/Device.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/Builder/Device.php -------------------------------------------------------------------------------- /src/Creational/Builder/DeviceBuilder.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/Builder/DeviceBuilder.php -------------------------------------------------------------------------------- /src/Creational/Builder/Director.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/Builder/Director.php -------------------------------------------------------------------------------- /src/Creational/Builder/InteractiveMirror.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/Builder/InteractiveMirror.php -------------------------------------------------------------------------------- /src/Creational/Builder/InteractiveMirrorBuilder.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/Builder/InteractiveMirrorBuilder.php -------------------------------------------------------------------------------- /src/Creational/Builder/demo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/Builder/demo.php -------------------------------------------------------------------------------- /src/Creational/FactoryMethod/AudioBox.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/FactoryMethod/AudioBox.php -------------------------------------------------------------------------------- /src/Creational/FactoryMethod/Box.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/FactoryMethod/Box.php -------------------------------------------------------------------------------- /src/Creational/FactoryMethod/BoxFactory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/FactoryMethod/BoxFactory.php -------------------------------------------------------------------------------- /src/Creational/FactoryMethod/Factory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/FactoryMethod/Factory.php -------------------------------------------------------------------------------- /src/Creational/FactoryMethod/FileItem.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/FactoryMethod/FileItem.php -------------------------------------------------------------------------------- /src/Creational/FactoryMethod/FileType.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/FactoryMethod/FileType.php -------------------------------------------------------------------------------- /src/Creational/FactoryMethod/ImgBox.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/FactoryMethod/ImgBox.php -------------------------------------------------------------------------------- /src/Creational/FactoryMethod/VideoBox.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/FactoryMethod/VideoBox.php -------------------------------------------------------------------------------- /src/Creational/FactoryMethod/demo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/FactoryMethod/demo.php -------------------------------------------------------------------------------- /src/Creational/Prototype/Computer.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/Prototype/Computer.php -------------------------------------------------------------------------------- /src/Creational/Prototype/Device.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/Prototype/Device.php -------------------------------------------------------------------------------- /src/Creational/Prototype/DeviceGroup.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/Prototype/DeviceGroup.php -------------------------------------------------------------------------------- /src/Creational/Prototype/demo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/Prototype/demo.php -------------------------------------------------------------------------------- /src/Creational/Singleton/ActiveUser.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Creational/Singleton/ActiveUser.php -------------------------------------------------------------------------------- /src/Structural/Adapter/.env.example: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Adapter/.env.example -------------------------------------------------------------------------------- /src/Structural/Adapter/AWSFileStorage.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Adapter/AWSFileStorage.php -------------------------------------------------------------------------------- /src/Structural/Adapter/Client.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Adapter/Client.php -------------------------------------------------------------------------------- /src/Structural/Adapter/File.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Adapter/File.php -------------------------------------------------------------------------------- /src/Structural/Adapter/FileAdapter.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Adapter/FileAdapter.php -------------------------------------------------------------------------------- /src/Structural/Adapter/LocalFileStorage.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Adapter/LocalFileStorage.php -------------------------------------------------------------------------------- /src/Structural/Adapter/assets/logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Adapter/assets/logo.png -------------------------------------------------------------------------------- /src/Structural/Adapter/index.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Adapter/index.php -------------------------------------------------------------------------------- /src/Structural/Adapter/server.sh: -------------------------------------------------------------------------------- 1 | #!/usr/bin/env bash 2 | 3 | php -S localhost:8000 4 | -------------------------------------------------------------------------------- /src/Structural/Adapter/storage/.gitkeep: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/Structural/Bridge/Blurred.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Bridge/Blurred.php -------------------------------------------------------------------------------- /src/Structural/Bridge/Content.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Bridge/Content.php -------------------------------------------------------------------------------- /src/Structural/Bridge/Display.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Bridge/Display.php -------------------------------------------------------------------------------- /src/Structural/Bridge/Image.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Bridge/Image.php -------------------------------------------------------------------------------- /src/Structural/Bridge/Standard.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Bridge/Standard.php -------------------------------------------------------------------------------- /src/Structural/Bridge/Video.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Bridge/Video.php -------------------------------------------------------------------------------- /src/Structural/Bridge/demo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Bridge/demo.php -------------------------------------------------------------------------------- /src/Structural/Composite/Budgeted.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Composite/Budgeted.php -------------------------------------------------------------------------------- /src/Structural/Composite/BudgetedComposite.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Composite/BudgetedComposite.php -------------------------------------------------------------------------------- /src/Structural/Composite/Department.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Composite/Department.php -------------------------------------------------------------------------------- /src/Structural/Composite/Employee.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Composite/Employee.php -------------------------------------------------------------------------------- /src/Structural/Composite/demo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Composite/demo.php -------------------------------------------------------------------------------- /src/Structural/Decorator/Product.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Decorator/Product.php -------------------------------------------------------------------------------- /src/Structural/Decorator/ProductDecorator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Decorator/ProductDecorator.php -------------------------------------------------------------------------------- /src/Structural/Decorator/Shirt.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Decorator/Shirt.php -------------------------------------------------------------------------------- /src/Structural/Decorator/SummerSale.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Decorator/SummerSale.php -------------------------------------------------------------------------------- /src/Structural/Decorator/TV.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Decorator/TV.php -------------------------------------------------------------------------------- /src/Structural/Decorator/WinterSale.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Decorator/WinterSale.php -------------------------------------------------------------------------------- /src/Structural/Decorator/demo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Decorator/demo.php -------------------------------------------------------------------------------- /src/Structural/DependencyInjection/Storage.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/DependencyInjection/Storage.php -------------------------------------------------------------------------------- /src/Structural/DependencyInjection/User.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/DependencyInjection/User.php -------------------------------------------------------------------------------- /src/Structural/DependencyInjection/UserStorage.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/DependencyInjection/UserStorage.php -------------------------------------------------------------------------------- /src/Structural/DependencyInjection/UserTest.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/DependencyInjection/UserTest.php -------------------------------------------------------------------------------- /src/Structural/Facade/Image.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Facade/Image.php -------------------------------------------------------------------------------- /src/Structural/Facade/demo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Facade/demo.php -------------------------------------------------------------------------------- /src/Structural/FluentInterface/QueryBuilder.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/FluentInterface/QueryBuilder.php -------------------------------------------------------------------------------- /src/Structural/FluentInterface/demo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/FluentInterface/demo.php -------------------------------------------------------------------------------- /src/Structural/Flyweight/Device.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Flyweight/Device.php -------------------------------------------------------------------------------- /src/Structural/Flyweight/DeviceStorage.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Flyweight/DeviceStorage.php -------------------------------------------------------------------------------- /src/Structural/Flyweight/DeviceType.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Flyweight/DeviceType.php -------------------------------------------------------------------------------- /src/Structural/Flyweight/DeviceTypeFactory.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Flyweight/DeviceTypeFactory.php -------------------------------------------------------------------------------- /src/Structural/Flyweight/Generator.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Flyweight/Generator.php -------------------------------------------------------------------------------- /src/Structural/Flyweight/demo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Flyweight/demo.php -------------------------------------------------------------------------------- /src/Structural/Proxy/AuthFile.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Proxy/AuthFile.php -------------------------------------------------------------------------------- /src/Structural/Proxy/File.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Proxy/File.php -------------------------------------------------------------------------------- /src/Structural/Proxy/FileProvider.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Proxy/FileProvider.php -------------------------------------------------------------------------------- /src/Structural/Proxy/User.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Proxy/User.php -------------------------------------------------------------------------------- /src/Structural/Proxy/demo.php: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jkapuscik2/design-patterns-php/HEAD/src/Structural/Proxy/demo.php --------------------------------------------------------------------------------