Question

J'utilise le modèle de décorateur et je décore une classe avec un constructeur qui a des paramètres.

Ci-dessous, le constructeur de la classe decorating.

Public Sub New(ByVal repository As ISchedulingRespository)

  Me.repository = repository

  End Sub

Parce que ma classe de décorateur hérite de la classe de décor, je dois déclarer son constructeur comme suit;

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

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

Ainsi, lorsque je crée la classe de décorateur, je passe dans une instance du décorateur de classe ainsi que dans le paramètre requis pour la classe à décorer. Ceci peut être vu ci-dessous;

 Dim schedulingServiceDecorator As New SchedulingServiceEventDecorator(schedulingService, schedulingRepository)

Cela ne me semble pas correct. Est-ce que je manque quelque chose avec ce modèle?

Je ne pouvais tout simplement pas passer dans la classe de décoration du constructeur du décorateur, mais chaque article vu sur ce motif passe au cas où une instance de la classe en cours de décoration était décorée.

S'agit-il d'un cas de modification d'un motif pour répondre à vos besoins?

Merci beaucoup

Était-ce utile?

La solution

Dans le modèle de décorateur , vous êtes censé hériter de l'interface . de la classe décorée, puis passez l'implémentation dans le constructeur. On dirait que vous héritez de la classe concrète SchedulingService .

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top