Украшать класс, конструктор которого имеет параметры?

StackOverflow https://stackoverflow.com/questions/1232716

  •  22-07-2019
  •  | 
  •  

Вопрос

Я использую шаблон декоратора и украшаю класс конструктором с параметрами.

Ниже приведен конструктор класса украшения;

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)

Это не кажется мне правильным. Я что-то упустил с этим шаблоном?

Я просто не мог передать декорирующий класс в конструкторе декоратора, но каждая статья, видимая по этому шаблону, передает экземпляр декорируемого класса в декоратор.

Это случай изменения шаблона в соответствии с вашими потребностями?

Большое спасибо

Это было полезно?

Решение

В шаблоне декоратора вы должны наследовать от интерфейса из оформленного класса, а затем передать реализацию в конструктор. Похоже, вы наследуете от конкретного класса SchedulingService .

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top