Hello à tous,
J'ai récemment découvert une série de 3 articles via ce message.
N'ayant jamais eu de cours d'archi, je me forme sur le tas et cette série d'article tombe à pic !
Notemment, dans la partie où il traite des DTOParser et notamment des ordinaux afin d'accéder aux éléments des datareaders via leur index plutôt que leur nom (car c'est plus performant).
Pour un DTO simple, pas de souci. Mais comment fait-on pour un DTO qui contient d'autres DTO's ?
Prenons par exemple une classe Tel (pour téléphone) :
Où TypeTel indique de quel type de téléphone il s'agit (fixe, portable, fax, etc.) et Pays indique le pays histoire d'avoir l'indicatif téléphonique du-dit pays.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Public Class Tel Public Property Id As Integer Public Property Type As TypeTel Public Property Pays As Pays Public Property Num As String Public Sub New(ByVal id As Integer, ByVal type As TypeTel, ByVal pays As Pays, ByVal num As String) Me.Id = id Me.Type = type Me.Pays = pays Me.Num = num End Sub End Class
Donc en suivant l'article, je commence vaillamment à créer une classe ParserTel comme suit :
Mais je bloque pour Pays et TypeTel. Toutes les données nécessaires à la création de ces deux instances se trouvent dans la datareader (pour ne pas devoir refaire un accès db pou récupérer le pays et le type sur base de leur Id).
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Public Class Parser_Tel Private ord_id As Integer Private ord_num As Integer Public Function PopulateDTO(reader As System.Data.SqlClient.SqlDataReader) As Tel End Function Public Sub PopulateOrd(reader As System.Data.SqlClient.SqlDataReader) End Sub End Class
Faut-il faire appel au parser du DTO Pays dans la fonction PopulateDTO ??
J'espère avoir été clair![]()
Partager