gitextract_cnb0lvse/ ├── .github/ │ └── workflows/ │ └── maven.yml ├── .gitignore ├── LICENSE ├── README.md ├── pom.xml ├── src/ │ └── main/ │ └── java/ │ ├── abstractfactory/ │ │ ├── README.md │ │ ├── abstractfactory1.java │ │ └── abstractfactory2.java │ ├── adapter/ │ │ ├── README.md │ │ ├── adapter1.java │ │ └── adapter2.java │ ├── builder/ │ │ ├── README.md │ │ ├── builder1.java │ │ └── builder2.java │ ├── chainofresponsibility/ │ │ ├── README.md │ │ ├── chainofresponsibility1.java │ │ └── chainofresponsibility2.java │ ├── command/ │ │ ├── README.md │ │ ├── command1.java │ │ ├── command2.java │ │ └── command3.java │ ├── decorator/ │ │ ├── README.md │ │ ├── decorator1.java │ │ └── decorator2.java │ ├── factory/ │ │ ├── README.md │ │ ├── factory1.java │ │ └── factory2.java │ ├── memoizer/ │ │ ├── README.md │ │ ├── memoizer1.java │ │ └── memoizer2.java │ ├── monad/ │ │ ├── README.md │ │ ├── monad1.java │ │ ├── monad2.java │ │ └── monad3.java │ ├── observer/ │ │ ├── README.md │ │ ├── observer1.java │ │ ├── observer2.java │ │ └── observer3.java │ ├── railwayswitch/ │ │ ├── README.md │ │ ├── railwayswitch1.java │ │ └── railwayswitch2.java │ ├── state/ │ │ ├── README.md │ │ ├── state1.java │ │ └── state2.java │ ├── templatemethod/ │ │ ├── README.md │ │ ├── templatemethod1.java │ │ └── templatemethod2.java │ ├── typing/ │ │ ├── dynamictyping.java │ │ ├── structuraltyping.java │ │ └── subtyping.java │ └── visitor/ │ ├── README.md │ ├── visitor1.java │ ├── visitor2.java │ └── visitor3.java └── test/ └── test.csv