Added design pattern demos