你在实际项目中用过哪些设计模式?解决了什么问题?