【发布时间】:2009-12-06 14:33:10
【问题描述】:
我正在尝试用对象重写现有系统。我已经创建了一些基本对象,但我一直坚持如何让它们按我想要的方式工作。
这些是基本类:
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
我想做的是编写如下代码:
Courses([CourseCode]).Reviews(1).Categories([CategoryID]).Comment 或者 Courses(i).Reviews(1).Categories(x).Comment
[ 和 ] 之间的字符表示将来自调用应用程序的一些值。
我的问题的第二部分与检索数据的最佳方式有关。我是否在实例化时由对象自动在内部检索所有日期(这可能需要检索大量数据),或者是否有应用程序具有的 GetReviews(在 Course 对象内)或 GetComments(在 Review 对象内)之类的方法在这些对象可用之前调用? 这些方法应该简单地在它们的父对象中填充这些对象,还是直接将对象返回给调用应用程序?
但是,我将要检索 Courses 对象作为某个点。对我来说,在 Courses 对象本身中使用此方法似乎是错误的,即。 (Courses.GetCourses([StaffMember]))
我真的只是想进入编程 OO,因为到目前为止我一直以非常程序化的方式使用 .Net。是否有任何人可以推荐的书籍作为如何使用 OO 的指南以及根据手头的任务使用它的不同方式? 过去我创建了很多课程,这些课程对我来说一直都很有效,但我很难弄清楚如何以最好的方式将它们组合在一起。
【问题讨论】:
标签: asp.net vb.net oop class nested