├── .gitignore ├── .travis.yml ├── LICENSE ├── README.md ├── shard.yml ├── spec ├── abstract_factory_spec.cr ├── adapter_spec.cr ├── bridge_spec.cr ├── builder_spec.cr ├── chain_of_responsibility_spec.cr ├── command_spec.cr ├── composite_spec.cr ├── crystal_design_patterns_spec.cr ├── decorator_spec.cr ├── facade_spec.cr ├── flyweight_spec.cr ├── interpreter_spec.cr ├── lazy_initialization_spec.cr ├── memento_spec.cr ├── observer_spec.cr ├── proxy_spec.cr ├── spec_helper.cr ├── state_spec.cr ├── strategy_spec.cr └── visitor_spec.cr └── src ├── crystal_design_patterns.cr └── crystal_design_patterns ├── abstract_factory.cr ├── adapter.cr ├── bridge.cr ├── builder.cr ├── chain_of_responsibility.cr ├── command.cr ├── composite.cr ├── decorator.cr ├── facade.cr ├── flyweight.cr ├── interpreter.cr ├── lazy_initialization.cr ├── memento.cr ├── observer.cr ├── proxy.cr ├── state.cr ├── strategy.cr ├── version.cr └── visitor.cr /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/.gitignore -------------------------------------------------------------------------------- /.travis.yml: -------------------------------------------------------------------------------- 1 | language: crystal 2 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/README.md -------------------------------------------------------------------------------- /shard.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/shard.yml -------------------------------------------------------------------------------- /spec/abstract_factory_spec.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/spec/abstract_factory_spec.cr -------------------------------------------------------------------------------- /spec/adapter_spec.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/spec/adapter_spec.cr -------------------------------------------------------------------------------- /spec/bridge_spec.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/spec/bridge_spec.cr -------------------------------------------------------------------------------- /spec/builder_spec.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/spec/builder_spec.cr -------------------------------------------------------------------------------- /spec/chain_of_responsibility_spec.cr: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/command_spec.cr: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/composite_spec.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/spec/composite_spec.cr -------------------------------------------------------------------------------- /spec/crystal_design_patterns_spec.cr: -------------------------------------------------------------------------------- 1 | require "./spec_helper" 2 | 3 | describe CrystalDesignPatterns do 4 | end 5 | -------------------------------------------------------------------------------- /spec/decorator_spec.cr: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/facade_spec.cr: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/flyweight_spec.cr: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/interpreter_spec.cr: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/lazy_initialization_spec.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/spec/lazy_initialization_spec.cr -------------------------------------------------------------------------------- /spec/memento_spec.cr: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/observer_spec.cr: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/proxy_spec.cr: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/spec_helper.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/spec/spec_helper.cr -------------------------------------------------------------------------------- /spec/state_spec.cr: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/strategy_spec.cr: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /spec/visitor_spec.cr: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /src/crystal_design_patterns.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/src/crystal_design_patterns.cr -------------------------------------------------------------------------------- /src/crystal_design_patterns/abstract_factory.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/src/crystal_design_patterns/abstract_factory.cr -------------------------------------------------------------------------------- /src/crystal_design_patterns/adapter.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/src/crystal_design_patterns/adapter.cr -------------------------------------------------------------------------------- /src/crystal_design_patterns/bridge.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/src/crystal_design_patterns/bridge.cr -------------------------------------------------------------------------------- /src/crystal_design_patterns/builder.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/src/crystal_design_patterns/builder.cr -------------------------------------------------------------------------------- /src/crystal_design_patterns/chain_of_responsibility.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/src/crystal_design_patterns/chain_of_responsibility.cr -------------------------------------------------------------------------------- /src/crystal_design_patterns/command.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/src/crystal_design_patterns/command.cr -------------------------------------------------------------------------------- /src/crystal_design_patterns/composite.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/src/crystal_design_patterns/composite.cr -------------------------------------------------------------------------------- /src/crystal_design_patterns/decorator.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/src/crystal_design_patterns/decorator.cr -------------------------------------------------------------------------------- /src/crystal_design_patterns/facade.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/src/crystal_design_patterns/facade.cr -------------------------------------------------------------------------------- /src/crystal_design_patterns/flyweight.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/src/crystal_design_patterns/flyweight.cr -------------------------------------------------------------------------------- /src/crystal_design_patterns/interpreter.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/src/crystal_design_patterns/interpreter.cr -------------------------------------------------------------------------------- /src/crystal_design_patterns/lazy_initialization.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/src/crystal_design_patterns/lazy_initialization.cr -------------------------------------------------------------------------------- /src/crystal_design_patterns/memento.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/src/crystal_design_patterns/memento.cr -------------------------------------------------------------------------------- /src/crystal_design_patterns/observer.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/src/crystal_design_patterns/observer.cr -------------------------------------------------------------------------------- /src/crystal_design_patterns/proxy.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/src/crystal_design_patterns/proxy.cr -------------------------------------------------------------------------------- /src/crystal_design_patterns/state.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/src/crystal_design_patterns/state.cr -------------------------------------------------------------------------------- /src/crystal_design_patterns/strategy.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/src/crystal_design_patterns/strategy.cr -------------------------------------------------------------------------------- /src/crystal_design_patterns/version.cr: -------------------------------------------------------------------------------- 1 | module CrystalDesignPatterns 2 | VERSION = "0.1.0" 3 | end 4 | -------------------------------------------------------------------------------- /src/crystal_design_patterns/visitor.cr: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/bthachdev/crystal-design-patterns/HEAD/src/crystal_design_patterns/visitor.cr --------------------------------------------------------------------------------