如何在服务器上放网站,建设工程合同范本2021,手机低价购买网站,wordpress插件 盗版工作之余#xff0c;在看资料过程中发现一个极易理解的简单工厂模式的例子#xff0c;自己亲自试练一番,感觉对这个设计模式不熟悉的朋友#xff0c; 一看马上就知道是什么回事了。
简单工厂模式根据提供给它的数据#xff0c;返回几个可能类中的一个类的实例。通常它返的…
工作之余在看资料过程中发现一个极易理解的简单工厂模式的例子自己亲自试练一番,感觉对这个设计模式不熟悉的朋友 一看马上就知道是什么回事了。
简单工厂模式根据提供给它的数据返回几个可能类中的一个类的实例。通常它返的类都有一个共同的你类和共同的方法 但每个方法执行的任务不同而且根据不同的数据进行了优化。
简单工厂模式是属于创建型模式又叫做静态工厂方法Static Factory Method模式但不属于23种GOF设计模式之一。
下面进行一个代码示例: public class getName { private string _fName, _lName; public string fName { get; set; } public string lName { get; set; } } 定义一个类返回带有空格在名字中间的人的姓与名 public class fristName : getName { public fristName(string name) { int iname.Trim().IndexOf( ); if (i 0) { fName name.Substring(0, i).Trim(); lName name.Substring(i 1).Trim(); } else { fName name; lName ; } } } 定义一个类返回带有逗号在名字中间的人的姓与名 public class lastName : getName { public lastName(string name) { int i name.Trim().IndexOf(,); if (i 0) { lName name.Substring(0, i).Trim(); fName name.Substring(i 1).Trim(); } else { lName name; fName ; } } }
下面创建简单的工厂模式的类: public class nameFac { public nameFac() { } public static getName GetName(string name) { int i name.IndexOf(,); if (i 0) { return new lastName(name); } else { return new fristName(name); } } }
通过一个nameFac工厂类把所有的业务流程都耦合在一起。在界面层使用的时候只需代用到工厂类就可以返回结果。 getName gn nameFac.GetName(Kelly Chen); richTextBox1.Text gn.fName , gn.lName;