J'essaie de réécrire un système existant avec des objets. J'ai créé quelques objets de base mais je suis coincé sur exactement comment les faire fonctionner comme je veux.Imbrication d'objets et où récupérer des données?
Ce sont les classes de base:
Public Class Course
Public AcadPeriod As String
Public AoSCode As String
Public AoSPeriod As String
Public Title As String
Public Reviews As New Reviews
End Class
Public Class Courses
Inherits CollectionBase
Public Sub Add(ByVal cse As Course)
List.Add(cse)
End Sub
End Class
Public Class Review
Public ReviewID As String
Public Categories As Categories
End Class
Public Class Reviews
Inherits CollectionBase
Public Sub Add(ByVal rev As Review)
List.Add(rev)
End Sub
End Class
Public Class Category
Public CategoryID As String
Public CategoryName As String
Public Comment As String
Public MeasureValue As Integer
Public CompletedBy As String
Public CompletedDate As DateTime
End Class
Public Class Categories
Inherits CollectionBase
Public Sub Add(ByVal cat As Category)
List.Add(cat)
End Sub
End Class
Ce que je veux être en mesure de le faire est le code d'écriture comme ci-dessous:.
Cours ([CourseCode]) Avis (1) .Categories ([CategoryID]). Commentaire ou Cours (i) .Reviews (1) .Categories (x) .comment
caractères entre [et] représentent une valeur qui va venir de l'application appelante.
La deuxième partie de ma question concerne le meilleur moyen de récupérer les données. Est-ce que toutes les dates sont récupérées automatiquement par l'objet lors de l'instanciation (ce qui peut être beaucoup de données à extraire) ou ont une méthode comme GetReviews (dans l'objet Course) ou GetComments (dans l'objet Review) appeler avant que ces objets deviennent disponibles? Ces méthodes doivent-elles simplement remplir ces objets dans leur objet parent ou renvoyer les objets directement à l'application appelante?
Cependant, je vais vouloir récupérer l'objet Courses comme un point. Pour moi, il semble erroné d'avoir cette méthode dans l'objet Courses lui-même. (Courses.GetCourses ([StaffMember]))
Je suis vraiment juste en train d'essayer de programmer OO, car j'ai utilisé .Net d'une manière très procédurale jusqu'à maintenant. Y at-il des livres que n'importe qui peut recommander qui agissent comme un guide pour utiliser OO et les différentes façons de l'utiliser en fonction de la tâche à accomplir? J'ai créé beaucoup de classes dans le passé, ce qui a toujours fonctionné très bien pour moi, mais j'ai du mal à trouver comment les mettre ensemble de la meilleure façon possible.
Merci pour vos réponses Rap, je pense qu'une combinaison de ces deux méthodes sera parfait pour mon problème. Je vous ai marqué comme la réponse, merci beaucoup. – hermiod