t4 templates hw
design pattern