gpt4 book ai didi

design-patterns - 装饰一个构造函数有参数的类?

转载 作者:行者123 更新时间:2023-12-02 07:15:40 25 4
gpt4 key购买 nike

我正在使用装饰器模式并使用带参数的构造函数装饰类。

下面是装饰类的构造函数;

Public Sub New(ByVal repository As ISchedulingRespository)

Me.repository = repository

End Sub

因为我的装饰器类继承自装饰类,所以我需要如下声明它的构造函数;

 Public Sub New(ByVal schedulingService as SchedulingService, ByVal repository As ISchedulingRespository)

MyBase.New(repository)
Me.instance = instance
End Sub

因此,当我创建装饰器类时,我传入了装饰类的实例以及要装饰的类所需的参数。这可以在下面看到;

 Dim schedulingServiceDecorator As New SchedulingServiceEventDecorator(schedulingService, schedulingRepository)

这对我来说似乎不正确。我是否遗漏了这种模式的某些内容?

我可以简单地不在装饰器构造函数中传递装饰类,但是在该模式下看到的每篇文章都将被装饰类的实例传递到装饰器中。

这是修改模式以满足您的需求的情况吗?

非常感谢

最佳答案

Decorator Pattern ,你应该继承装饰类的接口(interface),然后在构造函数中传递实现。看起来您是从具体的 SchedulingService 类继承的。

关于design-patterns - 装饰一个构造函数有参数的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1232716/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com