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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/magento/5.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_Solid Principles_Code Reuse - Fatal编程技术网

Design patterns 我想写一组类来构建一组相关但不同的对象,什么是最好的设计模式?

Design patterns 我想写一组类来构建一组相关但不同的对象,什么是最好的设计模式?,design-patterns,solid-principles,code-reuse,Design Patterns,Solid Principles,Code Reuse,我正在从事一个项目,其中有一组对象,程序使用描述每个对象属性的配置文件来构建它们 以下是关于这些对象的类的一些描述: 每个类别只属于三个类别中的一个A,B,C 任何类别中的每个类的属性都不同于同一类别中的类。因此,我无法编写泛型类来从特定类类别中的类构建实例 从任何类别的任何类构建实例都不是一个复杂的过程 现在的问题是:如果我想在项目中实现——或者说适应——坚实的原则、干净的代码和一些设计模式,以使代码可维护、灵活、可重用、可扩展和可读,我应该: 为每个类别编写一个生成器类,该类别中的每个

我正在从事一个项目,其中有一组对象,程序使用描述每个对象属性的配置文件来构建它们

以下是关于这些对象的类的一些描述:

  • 每个类别只属于三个类别中的一个ABC
  • 任何类别中的每个类的属性都不同于同一类别中的类。因此,我无法编写泛型类来从特定类类别中的类构建实例
  • 从任何类别的任何类构建实例都不是一个复杂的过程
现在的问题是:如果我想在项目中实现——或者说适应——坚实的原则、干净的代码和一些设计模式,以使代码可维护、灵活、可重用、可扩展和可读,我应该:

  • 为每个类别编写一个生成器类,该类别中的每个类别都有一个从其类别生成器类中构建实例的方法(例如,类别a的生成器类和该类别中每个类别的生成器方法)

  • 或者我应该为每个类编写一个构建器类,而不管该类属于哪个类别?(例如,属于类别A的类1有其生成器类,而属于类别C的类2有其生成器类等等)


请不要把我要做的与常规序列化混为一谈,这里的配置文件是由用户编写的

您能给出一些类别和类的示例吗?同一类别的类共享什么?我真的很想共享一些代码,但不幸的是我不是项目的所有者,所以不能共享真实的示例。但是每个类别都继承自一个类,任何一个类别中的类在代码中都不起作用,它们有一些类来聚合它们。每个类别是否都有一个接口:接口a、接口B、接口C?客户机是否需要每个类别中的一个实例或每个类别中的多个(不同)实例?能否给出一些类别和类的示例?同一类别的类共享什么?我真的很想共享一些代码,但不幸的是我不是项目的所有者,所以不能共享真实的示例。但是每个类别都继承自一个类,任何一个类别中的类在代码中都不起作用,它们有一些类来聚合它们。每个类别是否都有一个接口:接口a、接口B、接口C?客户机是否需要每个类别中的一个实例或每个类别中的多个(不同)实例?