├── Abstract Factory ├── AbstractFactoryPattern.swift ├── AbstractFactoryPatternProtocols.swift ├── AbstractFactoryUsage.swift └── readme.md ├── Adapter ├── AdapterPattern.swift ├── AdapterPatternAdaptee.swift ├── AdapterPatternProtocol.swift ├── AdapterPatternUsage.swift └── readme.md ├── Bridge ├── BridgePattern.swift ├── BridgePatternUsage.swift └── readme.md ├── Builder ├── BuilderPattern.swift ├── BuilderPatternUsage.swift └── readme.md ├── Chain Of Responsibility ├── ChainOfResponsibilityPattern.swift ├── ChainOfResponsibilityPatternUsage.swift └── readme.md ├── Command ├── CommandPattern.swift ├── CommandPatternUsage.swift └── readme.md ├── Composite ├── CompositePattern.swift ├── CompositePatternComponent.swift ├── CompositePatternLeafs.swift ├── CompositePatternUsage.swift └── readme.md ├── Decorator ├── DecoratorPattern.swift ├── DecoratorPatternUsage.swift └── readme.md ├── Facade ├── FacadePattern.swift ├── FacadePatternUsage.swift └── readme.md ├── Factory Method ├── FactoryMethodPattern.swift ├── FactoryMethodPatternUsage.swift └── readme.md ├── Flyweight ├── FlyweightPattern.swift ├── FlyweightPatternUsage.swift └── readme.md ├── Interpreter ├── InterpreterPattern.swift ├── InterpreterPatternUsage.swift └── readme.md ├── Iterator ├── IteratorPattern.swift ├── IteratorPatternUsage.swift └── readme.md ├── LICENSE ├── Mediator ├── MediatorPattern.swift ├── MediatorPatternUsage.swift └── readme.md ├── Memento ├── MementoPattern.swift ├── MementoPatternCaretaker.swift ├── MementoPatternOriginator.swift ├── MementoPatternUsage.swift └── readme.md ├── Monostate ├── MonostatePattern.swift ├── MonostatePatternUsage.swift └── readme.md ├── Observer ├── ObserverPattern.swift ├── ObserverPatternUsage.swift └── readme.md ├── Protection Proxy ├── ProtectionProxyPattern.swift ├── ProtectionProxyPatternUsage.swift └── readme.md ├── Prototype ├── PrototypePattern.swift ├── PrototypePatternUsage.swift └── readme.md ├── Singleton ├── SingletonPattern.swift ├── SingletonPatternUsage.swift └── readme.md ├── State ├── StatePattern.swift ├── StatePatternUsage.swift └── readme.md ├── Strategy ├── StrategyPattern.swift ├── StrategyPatternUsage.swift └── readme.md ├── Template Method ├── TemplateMethodPattern.swift ├── TemplateMethodUsage.swift └── readme.md ├── Virtual Proxy ├── VirtualProxyPattern.swift ├── VirtualProxyPatternUsage.swift └── readme.md ├── Visitor ├── VisitorPattern.swift ├── VisitorPatternUsage.swift └── readme.md ├── readme.md └── sergeyleschev-design-patterns.md /Abstract Factory/AbstractFactoryPattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Abstract Factory/AbstractFactoryPattern.swift -------------------------------------------------------------------------------- /Abstract Factory/AbstractFactoryPatternProtocols.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Abstract Factory/AbstractFactoryPatternProtocols.swift -------------------------------------------------------------------------------- /Abstract Factory/AbstractFactoryUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Abstract Factory/AbstractFactoryUsage.swift -------------------------------------------------------------------------------- /Abstract Factory/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Abstract Factory/readme.md -------------------------------------------------------------------------------- /Adapter/AdapterPattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Adapter/AdapterPattern.swift -------------------------------------------------------------------------------- /Adapter/AdapterPatternAdaptee.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Adapter/AdapterPatternAdaptee.swift -------------------------------------------------------------------------------- /Adapter/AdapterPatternProtocol.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Adapter/AdapterPatternProtocol.swift -------------------------------------------------------------------------------- /Adapter/AdapterPatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Adapter/AdapterPatternUsage.swift -------------------------------------------------------------------------------- /Adapter/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Adapter/readme.md -------------------------------------------------------------------------------- /Bridge/BridgePattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Bridge/BridgePattern.swift -------------------------------------------------------------------------------- /Bridge/BridgePatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Bridge/BridgePatternUsage.swift -------------------------------------------------------------------------------- /Bridge/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Bridge/readme.md -------------------------------------------------------------------------------- /Builder/BuilderPattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Builder/BuilderPattern.swift -------------------------------------------------------------------------------- /Builder/BuilderPatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Builder/BuilderPatternUsage.swift -------------------------------------------------------------------------------- /Builder/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Builder/readme.md -------------------------------------------------------------------------------- /Chain Of Responsibility/ChainOfResponsibilityPattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Chain Of Responsibility/ChainOfResponsibilityPattern.swift -------------------------------------------------------------------------------- /Chain Of Responsibility/ChainOfResponsibilityPatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Chain Of Responsibility/ChainOfResponsibilityPatternUsage.swift -------------------------------------------------------------------------------- /Chain Of Responsibility/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Chain Of Responsibility/readme.md -------------------------------------------------------------------------------- /Command/CommandPattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Command/CommandPattern.swift -------------------------------------------------------------------------------- /Command/CommandPatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Command/CommandPatternUsage.swift -------------------------------------------------------------------------------- /Command/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Command/readme.md -------------------------------------------------------------------------------- /Composite/CompositePattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Composite/CompositePattern.swift -------------------------------------------------------------------------------- /Composite/CompositePatternComponent.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Composite/CompositePatternComponent.swift -------------------------------------------------------------------------------- /Composite/CompositePatternLeafs.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Composite/CompositePatternLeafs.swift -------------------------------------------------------------------------------- /Composite/CompositePatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Composite/CompositePatternUsage.swift -------------------------------------------------------------------------------- /Composite/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Composite/readme.md -------------------------------------------------------------------------------- /Decorator/DecoratorPattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Decorator/DecoratorPattern.swift -------------------------------------------------------------------------------- /Decorator/DecoratorPatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Decorator/DecoratorPatternUsage.swift -------------------------------------------------------------------------------- /Decorator/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Decorator/readme.md -------------------------------------------------------------------------------- /Facade/FacadePattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Facade/FacadePattern.swift -------------------------------------------------------------------------------- /Facade/FacadePatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Facade/FacadePatternUsage.swift -------------------------------------------------------------------------------- /Facade/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Facade/readme.md -------------------------------------------------------------------------------- /Factory Method/FactoryMethodPattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Factory Method/FactoryMethodPattern.swift -------------------------------------------------------------------------------- /Factory Method/FactoryMethodPatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Factory Method/FactoryMethodPatternUsage.swift -------------------------------------------------------------------------------- /Factory Method/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Factory Method/readme.md -------------------------------------------------------------------------------- /Flyweight/FlyweightPattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Flyweight/FlyweightPattern.swift -------------------------------------------------------------------------------- /Flyweight/FlyweightPatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Flyweight/FlyweightPatternUsage.swift -------------------------------------------------------------------------------- /Flyweight/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Flyweight/readme.md -------------------------------------------------------------------------------- /Interpreter/InterpreterPattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Interpreter/InterpreterPattern.swift -------------------------------------------------------------------------------- /Interpreter/InterpreterPatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Interpreter/InterpreterPatternUsage.swift -------------------------------------------------------------------------------- /Interpreter/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Interpreter/readme.md -------------------------------------------------------------------------------- /Iterator/IteratorPattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Iterator/IteratorPattern.swift -------------------------------------------------------------------------------- /Iterator/IteratorPatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Iterator/IteratorPatternUsage.swift -------------------------------------------------------------------------------- /Iterator/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Iterator/readme.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/LICENSE -------------------------------------------------------------------------------- /Mediator/MediatorPattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Mediator/MediatorPattern.swift -------------------------------------------------------------------------------- /Mediator/MediatorPatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Mediator/MediatorPatternUsage.swift -------------------------------------------------------------------------------- /Mediator/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Mediator/readme.md -------------------------------------------------------------------------------- /Memento/MementoPattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Memento/MementoPattern.swift -------------------------------------------------------------------------------- /Memento/MementoPatternCaretaker.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Memento/MementoPatternCaretaker.swift -------------------------------------------------------------------------------- /Memento/MementoPatternOriginator.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Memento/MementoPatternOriginator.swift -------------------------------------------------------------------------------- /Memento/MementoPatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Memento/MementoPatternUsage.swift -------------------------------------------------------------------------------- /Memento/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Memento/readme.md -------------------------------------------------------------------------------- /Monostate/MonostatePattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Monostate/MonostatePattern.swift -------------------------------------------------------------------------------- /Monostate/MonostatePatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Monostate/MonostatePatternUsage.swift -------------------------------------------------------------------------------- /Monostate/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Monostate/readme.md -------------------------------------------------------------------------------- /Observer/ObserverPattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Observer/ObserverPattern.swift -------------------------------------------------------------------------------- /Observer/ObserverPatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Observer/ObserverPatternUsage.swift -------------------------------------------------------------------------------- /Observer/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Observer/readme.md -------------------------------------------------------------------------------- /Protection Proxy/ProtectionProxyPattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Protection Proxy/ProtectionProxyPattern.swift -------------------------------------------------------------------------------- /Protection Proxy/ProtectionProxyPatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Protection Proxy/ProtectionProxyPatternUsage.swift -------------------------------------------------------------------------------- /Protection Proxy/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Protection Proxy/readme.md -------------------------------------------------------------------------------- /Prototype/PrototypePattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Prototype/PrototypePattern.swift -------------------------------------------------------------------------------- /Prototype/PrototypePatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Prototype/PrototypePatternUsage.swift -------------------------------------------------------------------------------- /Prototype/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Prototype/readme.md -------------------------------------------------------------------------------- /Singleton/SingletonPattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Singleton/SingletonPattern.swift -------------------------------------------------------------------------------- /Singleton/SingletonPatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Singleton/SingletonPatternUsage.swift -------------------------------------------------------------------------------- /Singleton/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Singleton/readme.md -------------------------------------------------------------------------------- /State/StatePattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/State/StatePattern.swift -------------------------------------------------------------------------------- /State/StatePatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/State/StatePatternUsage.swift -------------------------------------------------------------------------------- /State/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/State/readme.md -------------------------------------------------------------------------------- /Strategy/StrategyPattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Strategy/StrategyPattern.swift -------------------------------------------------------------------------------- /Strategy/StrategyPatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Strategy/StrategyPatternUsage.swift -------------------------------------------------------------------------------- /Strategy/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Strategy/readme.md -------------------------------------------------------------------------------- /Template Method/TemplateMethodPattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Template Method/TemplateMethodPattern.swift -------------------------------------------------------------------------------- /Template Method/TemplateMethodUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Template Method/TemplateMethodUsage.swift -------------------------------------------------------------------------------- /Template Method/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Template Method/readme.md -------------------------------------------------------------------------------- /Virtual Proxy/VirtualProxyPattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Virtual Proxy/VirtualProxyPattern.swift -------------------------------------------------------------------------------- /Virtual Proxy/VirtualProxyPatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Virtual Proxy/VirtualProxyPatternUsage.swift -------------------------------------------------------------------------------- /Virtual Proxy/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Virtual Proxy/readme.md -------------------------------------------------------------------------------- /Visitor/VisitorPattern.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Visitor/VisitorPattern.swift -------------------------------------------------------------------------------- /Visitor/VisitorPatternUsage.swift: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Visitor/VisitorPatternUsage.swift -------------------------------------------------------------------------------- /Visitor/readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/Visitor/readme.md -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/readme.md -------------------------------------------------------------------------------- /sergeyleschev-design-patterns.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/sergeyleschev/design-patterns/HEAD/sergeyleschev-design-patterns.md --------------------------------------------------------------------------------