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,假设我们有A班和B班 类A的工作就是做X、Y、Z。问题是它需要被创建、处理,并在某个地方被引用以管理这些生命周期 B级救援。类B在创建实例时起到工厂的作用,但也容纳实例,以便以后可以杀死它 例如,在应用程序中管理数据库连接。我认为很难找到这种模式。模式不仅仅是执行某些常见任务的结构化代码块。这也是一种意图 我想说的是,仅仅创建、销毁和保留引用并不是一个真正的OOP意图,因为任务本身是非常抽象的 此外,这种“模式”似乎不适用于具有自动或半自动垃圾收集的语言/框架,因为不需要保留引用以在以后销毁对象

假设我们有A班和B班

类A的工作就是做X、Y、Z。问题是它需要被创建、处理,并在某个地方被引用以管理这些生命周期

B级救援。类B在创建实例时起到工厂的作用,但也容纳实例,以便以后可以杀死它


例如,在应用程序中管理数据库连接。

我认为很难找到这种模式。模式不仅仅是执行某些常见任务的结构化代码块。这也是一种意图

我想说的是,仅仅创建、销毁和保留引用并不是一个真正的OOP意图,因为任务本身是非常抽象的


此外,这种“模式”似乎不适用于具有自动或半自动垃圾收集的语言/框架,因为不需要保留引用以在以后销毁对象。

我认为很难找到这种模式。模式不仅仅是执行某些常见任务的结构化代码块。这也是一种意图

我想说的是,仅仅创建、销毁和保留引用并不是一个真正的OOP意图,因为任务本身是非常抽象的


此外,这种“模式”似乎不适用于具有自动或半自动垃圾收集的语言/框架,因为不需要保留引用以在以后销毁对象。

对于数据库连接,这通常是某种形式的池,我认为池是最接近的,但我打算使用的用法是,池大小为1,类A的实例在使用后被完全释放,另一个实例被生成。听起来类似于温莎城堡的容器。不过,我不确定这是否符合“既定”的设计模式。您描述的功能存在许多问题。我想知道这是否就是为什么它不能很好地适应已知模式的原因?我同意,功能有点糟糕。我举的例子是做E2E测试。我们只有一个VM可以使用,因此需要将与它的连接合并。每个测试都会获得一个新的连接,并且在每个测试完成后,连接都会被破坏。在这种情况下,它不只是一个具有
Create()
Destroy()
方法的工厂吗?对于数据库连接,这通常是我认为最接近的池的某种形式,但我打算使用的用法是,池大小为1,类A的实例在使用后被完全释放,另一个实例被生成。听起来类似于温莎城堡的容器。不过,我不确定这是否符合“既定”的设计模式。您描述的功能存在许多问题。我想知道这是否就是为什么它不能很好地适应已知模式的原因?我同意,功能有点糟糕。我举的例子是做E2E测试。我们只有一个VM可以使用,因此需要将与它的连接合并。每个测试都会获得一个新的连接,并且在每个测试完成后,连接都会被破坏。在这种情况下,它不只是一个具有
Create()
Destroy()
方法的工厂吗?