繁体   English   中英

创建对象的设计模式

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM