欢迎来到天天文库
浏览记录
ID:40313377
大小:73.50 KB
页数:8页
时间:2019-07-30
《设计模式之创建型模式》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库。
1、软件英才网软件行业驰名招聘网站设计模式之创建型模式来自何静媛的博客创建型模式: 抽象工厂模式 工厂方法模式 建造者模式 原型模式 单例模式创建型模式,就是用来创建对象的模式,抽象了实例化的过程。它帮助一个系统独立于如何创建、组合和表示它的那些对象 对于抽象工厂模式和工厂方法模式查看上篇博文设计模式之工厂模式,下面就来介绍一下其余3个模式 建造者模式 有需要请联系我们软件英才网软件行业驰名招聘网站建造者模式可以将一个产品的内部表象与产品的生成过程分割开来,从而可以使一个建造过程生成具有不同内部表象的产品对象。如果我们用了建造者模式,那么用户就只需指定需要建造的类型即可,
2、而具体建造的过程和细节就不需要知道了。个人理解:建造者模式就是将一个复杂对象的构件过程抽象出来(PersonBuilder),不让任何人遗忘当中的任何一步。然后创建一个指挥者类(Director),用它类控制建造过程,也用它来隔离用户与建造过程的关联课本实例:建造小人与工厂方法模式和抽象工厂模式对比:举例说明:建造超人工厂方法:通过不同的工厂生产不同的超人,注重的是整体对象的创建方法建造者:注重的是部件构件的过程,旨在通过一步步的精确构造创建出一个复杂的对象。在这个例子中主要是通过具体建造方法建造超人。抽象工厂:通过不同的工厂生产一系列超级英雄,注重完整性。如图:有需要请联系我们软件英才
3、网软件行业驰名招聘网站 代码如下:[csharp] viewplaincopyprint?1.//抽象类 2. abstract class personbuilder 3. { 4. protected Graphics g; 5. protected Pen p; 6. 7. public personbuilder(Graphics g, Pen p) 8. { 9. this.g = g; 10.
4、 this.p = p; 11. 12. } 13. public abstract void buildhead(); 14. public abstract void buildbody(); 15. public abstract void buildarmleft(); 16. public abstract void buildarmright(); 17. public abstract void buildlegleft(); 18.
5、 public abstract void buildlegright(); 19. 有需要请联系我们软件英才网软件行业驰名招聘网站1. } 2. 3. //指挥者 4. class personDirector 5. { 6. private personbuilder pb; 7. public personDirector(personbuilder pb) 8. { 9. this.pb = pb; 10.
6、 11. } 12. public void createperson() 13. { 14. pb.buildhead(); 15. pb.buildbody(); 16. pb.buildarmleft (); 17. pb.buildarmright (); 18. pb.buildlegleft(); 19. pb.buildlegrigh
7、t(); 20. 21. } 22. } 23. 原型模式 用原型实例指定创建对象的种类,并且通过拷贝这些原型创建新的对象。原型模式其实就是从一个对象再创建另一个可定制的对象,而且不需要知道任何可创建的细节。课本实例:简历复印有需要请联系我们软件英才网软件行业驰名招聘网站代码如下:[csharp] viewplaincopyprint?1.public object Clone()
此文档下载收益归作者所有