Я пытаюсь переписать существующую систему с объектами. Я создал несколько базовых объектов, но не могу понять, как заставить их работать так, как я хочу.
Это основные классы:
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
Я хочу написать код, подобный приведенному ниже:
Курсы ([CourseCode]). Отзывы (1) .Categories ([CategoryID]). Комментарий
или же
Курсы (я) .Reviews (1) .Categories (х) .Comment
Символы между [и] представляют некоторое значение, которое будет поступать из вызывающего приложения.
Вторая часть моего вопроса связана с тем, каков наилучший способ получения данных. У меня есть вся дата, извлекаемая изнутри объектом автоматически при создании экземпляра (что может быть довольно много данных для извлечения), или есть метод, такой как GetReviews (в объекте Course) или GetComments (в объекте Review), который имеет приложение позвонить до того, как эти объекты станут доступны?
Должны ли эти методы просто заполнять эти объекты внутри родительского объекта или возвращать объекты непосредственно вызывающему приложению?
Однако я собираюсь получить объект Courses в качестве некоторой точки. Мне кажется неправильным иметь этот метод в самом объекте Courses, т.е. (Courses.GetCourses ([StaffMember])) * * 1014
Я действительно просто пытаюсь приступить к программированию ОО, так как до сих пор я использовал .Net очень процедурным образом. Есть ли какие-нибудь книги, которые кто-нибудь может порекомендовать, которые служат руководством для того, как использовать ОО и различные способы его использования в зависимости от поставленной задачи?
В прошлом я организовал множество уроков, которые всегда очень хорошо работали для меня, но я изо всех сил пытаюсь понять, как собрать их все вместе наилучшим образом.