[英]Design pattern for object creation
零件说,必须创建一个抽象类。 但是有两种类型的零件,
第一部分:这部分具有3个实例变量,内部,外部,中间
第2部分:这部分有2个实例变量,分别是top,bottom
最后,两个Part都扩展了一个抽象类Part,所以最后,在Java中,它像这样
abstract Class Object{
public abstract String toString();
}
abstract class Part{
abstract void print();
}
Class Part1 extends Part1{
List <Object> inside = new ArrayList <Object> ();
List <Object> outside = new ArrayList <Object> ();
List <Object> medium = new ArrayList <Object> ();
void print(){
//go through all the list and print the object
}
}
Class Part1 extends Part2{
List <Object> top = new ArrayList <object> ();
List <Object> bottom = new ArrayList <object> ();
void print(){
//go through all the list and print the object
}
}
我的问题是我可以申请哪种设计模式来创建零件,我仍然是模式的新手,对我来说,它的生成器是因为我必须提出具有不同表示形式的同一类型的对象。 但是对象并不复杂!
请参阅http://en.wikibooks.org/wiki/C%2B%2B_Programming/Code/Design_Patterns#Creational_Patterns 。
我更喜欢使用工厂模式或使用原型:
原型示例:
Class PartsFactory
{
Part createPart(string partType)
{
if (partType.equals("Type1")) return new Part1();
if (partType.equals("Type2")) return new Part2();
return null;
}
}
工厂示例:
interface PartsFactory
{
Part createPart();
}
Class Parts1Factory implements PartsFactory
{
Part createPart()
{
return new Part1();
}
}
Class Parts2Factory implements PartsFactory
{
Part createPart()
{
return new Part2();
}
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.