ruby设计模式