Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Design patterns 仅创建和存储实例的类的名称?_Design Patterns - Fatal编程技术网

Design patterns 仅创建和存储实例的类的名称?

Design patterns 仅创建和存储实例的类的名称?,design-patterns,Design Patterns,是否有只初始化和存储不同对象实例的类的名称 class MyInitializerOfMyObjectAndStorage public MyInitializerOfMyObjectAndStorage(CollectionOfInfoHowToInitialize) { foreach (var item in CollectionOfInfoHowToInitialize) instances.add(new MyObject(item)); .........

是否有只初始化和存储不同对象实例的类的名称

class MyInitializerOfMyObjectAndStorage

public MyInitializerOfMyObjectAndStorage(CollectionOfInfoHowToInitialize)
{
   foreach (var item in CollectionOfInfoHowToInitialize)
       instances.add(new MyObject(item));
   ............................
}


private or public MyObject _instances;
在这里,您打破了这个类所做的两件事:初始化和存储对象,这就是为什么您发现很难命名的原因。你可以把这个类分成两个类,一个是

public class ObjectInitializer {


  public Object initialize() {
    //return some object 
    return null;
  }
} 
另一个是

public class ObjectsStore {


  public void store(Object someObject) {
   // do something here .. 
  }
}

factory通过方法和对象池从调用方返回对象,并在需要时将实例保留在内存或其他位置以返回实例。factory是创建对象的对象。