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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ModuleLes exemples sont volontairement simplistes, sinon je ne vais plus rien comprendre .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
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 : Sélectionner tout - Visualiser dans une fenêtre à part
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 ClassQu'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 ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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
Merci
Partager