[VB.NET] Injection de dépendances
Bonjour à tous,
Je suis confronté un petit soucis, dans un developpement en couche, je ne parviens pas à accéder aux méthodes de la couche inférieure autrement que par l'instanciation de sa classe (comme ceci) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
| Imports BPL
Module ConsoleTest
Sub Main()
Console.WriteLine("Entre un chiffre")
Dim ChiffreEnregistre As Integer
ChiffreEnregistre = Console.ReadLine()
Dim TrucInutil As New ChiffreService
Console.WriteLine(TrucInutil.MultiplicationParDeux(ChiffreEnregistre))
End Sub
End Module |
Code:
1 2 3 4 5 6 7
| Public Class ChiffreService
Function MultiplicationParDeux(ByVal ChiffreEnregistre As Integer)
Dim Resultat As Integer
Resultat = ChiffreEnregistre * 2
Return Resultat
End Function
End Class |
Les exemples sont volontairement simplistes, sinon je ne vais plus rien comprendre :ccool:.
Je veux donc me débarasser de cette instanciation et plutôt utiliser l'injection de dépendance.
J'ai donc potassé, mais je pense n'avoir rien compris, jugez-en par vous-même :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13
| Imports DAL
Imports BEL
Public Class UserService
Private _repository As IUserRepository
Public Function GetOneCustomer(ByVal chiffreEnregistre As Integer) As Integer
Return _repository.GetMultiplicationParDeux(chiffreEnregistre)
End Function
End Class |
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| Public Interface IUserRepository
Function GetMultiplicationParDeux(ByVal chiffreEnregistre As Integer)
End Interface
Public Class UserRepository
Implements IUserRepository
Public Function GetMultiplicationParDeux(ByVal chiffreEnregistre As Integer) Implements IUserRepository.GetMultiplicationParDeux
Return chiffreEnregistre * 2
End Function
End Class |
Qu'est-ce que je fais mal ? Comment dois-je m'y prendre pour accéder à des fonction d'une couche inférieure sans en instancier la classe ?
Merci :zoubi: