some design patterns related files