├── .gitignore ├── Cargo.lock ├── Cargo.toml ├── Intro.md ├── README.md ├── adapter ├── Cargo.toml └── src │ ├── lib.rs │ └── simple.rs ├── bridge ├── Cargo.toml └── src │ ├── lib.rs │ └── simple.rs ├── chain_of_responsibility ├── Cargo.toml └── src │ ├── lib.rs │ └── simple.rs ├── command ├── Cargo.toml └── src │ ├── lib.rs │ └── simple.rs ├── composite ├── Cargo.toml └── src │ ├── lib.rs │ └── simple.rs ├── decorator ├── Cargo.toml └── src │ ├── lib.rs │ └── simple.rs ├── entity ├── Cargo.toml ├── README.md └── src │ └── lib.rs ├── facade ├── Cargo.toml └── src │ ├── lib.rs │ └── simple.rs ├── factory ├── Cargo.toml ├── README.md └── src │ ├── lib.rs │ ├── simple.rs │ └── simple2.rs ├── flyweight ├── Cargo.toml └── src │ ├── lib.rs │ └── simple.rs ├── interpreter ├── Cargo.toml └── src │ ├── lib.rs │ └── simple.rs ├── iterator ├── Cargo.toml └── src │ ├── lib.rs │ └── simple.rs ├── mediator ├── Cargo.toml └── src │ ├── lib.rs │ └── simple.rs ├── memento ├── Cargo.toml └── src │ ├── lib.rs │ └── simple.rs ├── observer ├── Cargo.toml ├── README.md └── src │ ├── bin │ └── main.rs │ ├── lib.rs │ ├── simple1.rs │ ├── simple2.rs │ └── simple3.rs ├── prototype ├── Cargo.toml └── src │ ├── lib.rs │ └── simple.rs ├── proxy ├── Cargo.toml └── src │ ├── lib.rs │ └── simple.rs ├── singleton ├── Cargo.toml └── src │ ├── lib.rs │ └── simple.rs ├── src └── main.rs ├── state ├── Cargo.toml └── src │ ├── lib.rs │ └── simple.rs ├── strategy ├── Cargo.toml └── src │ ├── lib.rs │ ├── simple.rs │ └── simple2.rs ├── template ├── Cargo.toml └── src │ ├── lib.rs │ └── simple.rs └── visitor ├── Cargo.toml └── src ├── lib.rs └── simple.rs /.gitignore: -------------------------------------------------------------------------------- 1 | /target/ 2 | **/*.rs.bk 3 | .DS_Store -------------------------------------------------------------------------------- /Cargo.lock: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/Cargo.lock -------------------------------------------------------------------------------- /Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/Cargo.toml -------------------------------------------------------------------------------- /Intro.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/Intro.md -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/README.md -------------------------------------------------------------------------------- /adapter/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/adapter/Cargo.toml -------------------------------------------------------------------------------- /adapter/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/adapter/src/lib.rs -------------------------------------------------------------------------------- /adapter/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/adapter/src/simple.rs -------------------------------------------------------------------------------- /bridge/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/bridge/Cargo.toml -------------------------------------------------------------------------------- /bridge/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/bridge/src/lib.rs -------------------------------------------------------------------------------- /bridge/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/bridge/src/simple.rs -------------------------------------------------------------------------------- /chain_of_responsibility/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/chain_of_responsibility/Cargo.toml -------------------------------------------------------------------------------- /chain_of_responsibility/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/chain_of_responsibility/src/lib.rs -------------------------------------------------------------------------------- /chain_of_responsibility/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/chain_of_responsibility/src/simple.rs -------------------------------------------------------------------------------- /command/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/command/Cargo.toml -------------------------------------------------------------------------------- /command/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/command/src/lib.rs -------------------------------------------------------------------------------- /command/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/command/src/simple.rs -------------------------------------------------------------------------------- /composite/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/composite/Cargo.toml -------------------------------------------------------------------------------- /composite/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/composite/src/lib.rs -------------------------------------------------------------------------------- /composite/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/composite/src/simple.rs -------------------------------------------------------------------------------- /decorator/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/decorator/Cargo.toml -------------------------------------------------------------------------------- /decorator/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/decorator/src/lib.rs -------------------------------------------------------------------------------- /decorator/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/decorator/src/simple.rs -------------------------------------------------------------------------------- /entity/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/entity/Cargo.toml -------------------------------------------------------------------------------- /entity/README.md: -------------------------------------------------------------------------------- 1 | # HashMap中的Entity -------------------------------------------------------------------------------- /entity/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/entity/src/lib.rs -------------------------------------------------------------------------------- /facade/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/facade/Cargo.toml -------------------------------------------------------------------------------- /facade/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/facade/src/lib.rs -------------------------------------------------------------------------------- /facade/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/facade/src/simple.rs -------------------------------------------------------------------------------- /factory/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/factory/Cargo.toml -------------------------------------------------------------------------------- /factory/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/factory/README.md -------------------------------------------------------------------------------- /factory/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/factory/src/lib.rs -------------------------------------------------------------------------------- /factory/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/factory/src/simple.rs -------------------------------------------------------------------------------- /factory/src/simple2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/factory/src/simple2.rs -------------------------------------------------------------------------------- /flyweight/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/flyweight/Cargo.toml -------------------------------------------------------------------------------- /flyweight/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/flyweight/src/lib.rs -------------------------------------------------------------------------------- /flyweight/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/flyweight/src/simple.rs -------------------------------------------------------------------------------- /interpreter/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/interpreter/Cargo.toml -------------------------------------------------------------------------------- /interpreter/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/interpreter/src/lib.rs -------------------------------------------------------------------------------- /interpreter/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/interpreter/src/simple.rs -------------------------------------------------------------------------------- /iterator/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/iterator/Cargo.toml -------------------------------------------------------------------------------- /iterator/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/iterator/src/lib.rs -------------------------------------------------------------------------------- /iterator/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/iterator/src/simple.rs -------------------------------------------------------------------------------- /mediator/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/mediator/Cargo.toml -------------------------------------------------------------------------------- /mediator/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/mediator/src/lib.rs -------------------------------------------------------------------------------- /mediator/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/mediator/src/simple.rs -------------------------------------------------------------------------------- /memento/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/memento/Cargo.toml -------------------------------------------------------------------------------- /memento/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/memento/src/lib.rs -------------------------------------------------------------------------------- /memento/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/memento/src/simple.rs -------------------------------------------------------------------------------- /observer/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/observer/Cargo.toml -------------------------------------------------------------------------------- /observer/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/observer/README.md -------------------------------------------------------------------------------- /observer/src/bin/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/observer/src/bin/main.rs -------------------------------------------------------------------------------- /observer/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/observer/src/lib.rs -------------------------------------------------------------------------------- /observer/src/simple1.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/observer/src/simple1.rs -------------------------------------------------------------------------------- /observer/src/simple2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/observer/src/simple2.rs -------------------------------------------------------------------------------- /observer/src/simple3.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/observer/src/simple3.rs -------------------------------------------------------------------------------- /prototype/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/prototype/Cargo.toml -------------------------------------------------------------------------------- /prototype/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/prototype/src/lib.rs -------------------------------------------------------------------------------- /prototype/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/prototype/src/simple.rs -------------------------------------------------------------------------------- /proxy/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/proxy/Cargo.toml -------------------------------------------------------------------------------- /proxy/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/proxy/src/lib.rs -------------------------------------------------------------------------------- /proxy/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/proxy/src/simple.rs -------------------------------------------------------------------------------- /singleton/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/singleton/Cargo.toml -------------------------------------------------------------------------------- /singleton/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/singleton/src/lib.rs -------------------------------------------------------------------------------- /singleton/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/singleton/src/simple.rs -------------------------------------------------------------------------------- /src/main.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/src/main.rs -------------------------------------------------------------------------------- /state/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/state/Cargo.toml -------------------------------------------------------------------------------- /state/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/state/src/lib.rs -------------------------------------------------------------------------------- /state/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/state/src/simple.rs -------------------------------------------------------------------------------- /strategy/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/strategy/Cargo.toml -------------------------------------------------------------------------------- /strategy/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/strategy/src/lib.rs -------------------------------------------------------------------------------- /strategy/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/strategy/src/simple.rs -------------------------------------------------------------------------------- /strategy/src/simple2.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/strategy/src/simple2.rs -------------------------------------------------------------------------------- /template/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/template/Cargo.toml -------------------------------------------------------------------------------- /template/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/template/src/lib.rs -------------------------------------------------------------------------------- /template/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/template/src/simple.rs -------------------------------------------------------------------------------- /visitor/Cargo.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/visitor/Cargo.toml -------------------------------------------------------------------------------- /visitor/src/lib.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/visitor/src/lib.rs -------------------------------------------------------------------------------- /visitor/src/simple.rs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/RustStudy/design_patterns/HEAD/visitor/src/simple.rs --------------------------------------------------------------------------------