Hello everyone. I'm trying to get a hang of object-oriented programming
and I have a question about the best practices for my program.
I'm making a program to recommend courses to me for my school. To
simplify things, let's just say every course has 3 variables (they
actually have a lot more): a name, a day, and a time.
I've made the following, let me know if I can improve on it or am making
any conventional errors (note, again I've simplified the classes by
omitting irrelevant methods):
class Course
attr_reader :title, :days, :time
def initialize(title, days, time)
@title = title
@days = days
@time = time
end
end
class CourseController
attr_reader :courses_all, :courses_MW, :courses_TR
def initialize(html_file)
# gets the HTML course data
# creates array where each element is a instance of Course
# creates arrays using original array's select to get all courses on
MW
# and TR, so they can be manipulated separately if desired.
end
end
class Main
def initialize
courses = CourseController.new("www.schoolcourselisting.com")
courses.courses_MW each { |i| puts i } # Shows MW courses
end
end
What do you think? Any improvements I should make? CourseController is
doing a lot more work than I show. For example, it parses the HTML for
data, and returns that data.
-- Derek
···
--
Posted via http://www.ruby-forum.com/.