Я использую шаблон декоратора и украшаю класс конструктором с параметрами.
Ниже представлен конструктор класса decorating;
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)
Это не кажется мне правильным. Я что-то упустил с этим шаблоном?
Я мог бы просто не передать класс декорирования в конструкторе декоратора, но каждая статья, увиденная в этом шаблоне, передает экземпляр декорируемого класса в декоратор.
Является ли это случаем изменения шаблона в соответствии с вашими потребностями?
Огромное спасибо