23个设计模式C#代码