大橙子网站建设,新征程启航
为企业提供网站建设、域名注册、服务器等服务
这篇文章主要介绍“Factory Pattern怎么使用”,在日常操作中,相信很多人在Factory Pattern怎么使用问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Factory Pattern怎么使用”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
为贡觉等地区用户提供了全套网页设计制作服务,及贡觉网站建设行业解决方案。主营业务为成都网站制作、成都网站设计、贡觉网站设计,以传统方式定制建设网站,并提供域名空间备案等一条龙服务,秉承以专业、用心的态度为用户提供真诚的服务。我们深信只要达到每一位用户的要求,就会得到认可,从而选择与我们长期合作。这样,我们也可以走得更远!
在软件工程中,设计模式(design pattern)是指对常见问题的通用解决方案。
Factory Pattern旨在解决对象创建的问题。
举一个例子,假设你要创建多种类型的玩具(例如toy tank,toy bus),需要先定义一个通用的基类,其拥有通用的方法(method )和数据(data)接口。
class TOY;
// Common data memeber
string type;
// Common methods
virtual function string get_type();
endclass : TOY
然后对该基类进行扩展。
class TOY_Tank extends TOY;
function new();
this.string = "Toy Tank";
endfunction : new
string function string get_type();
return this.string;
endfunction : get_type
endclass : TOY_Tank class TOY_Bus extends TOY;
function new();
this.string = "Toy Bus";
endfunction : new
string function string get_type();
return this.string;
endfunction : get_type
endclass : TOY_Bus
到这里,我们完成了相关对象的创建工作。
下一个需要解决的问题是编写toy factory 类。为简单起见,考虑传递“1”以获得toy tank 的实例,传递“2”来从factory 获取toy bus 实例。
class TOY_factory;
Toy my_toy
// Common methods
function toy get_toy(int type);
if(type == 1) this.my_toy = newTOY_Tank();
if(type == 2) this.my_toy = newTOY_Bus();
return this.my_toy;
endfunction : get_toy
endclass : TOY_factory
到此,关于“Factory Pattern怎么使用”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注创新互联网站,小编会继续努力为大家带来更多实用的文章!