title: Methods in Object-Oriented Design
body: <p>Q1.
  In my university studies of object-oriented modelling and design they recommend thinking about what an object can do for its method, and what its responsibilities are for its attributes. All attempts at clarification have resulted in further confusion.</p>
  <p>This tends to generate a class diagram with actors who have all the actions, and inner classes which only hold data.</p>
  <p>This doesn't seem correct. Is there another way of thinking about how to model the objects?</p>
  <p>Q2. Also, the course seems to emphasize modelling the objects after their real-world counterparts but it doesn't necessarily make sense in the domain model. IE. In a medical practice, they have <code>Patient: CreateAppointment(), CancelAppointment()</code> but that is not how it would be implemented (you would modify a the appointment collection instead). Is there another way of thinking about this?</p>
  <p><strong>Example Q1</strong></p>
  <blockquote>
  <p>Secretary: RecordAppointment(), RecordAppointmentCancellation()</p>
  <p>Appointment: time, date,... (no methods)</p>
  </blockquote>
  <p><strong>Example Q2</strong></p>
  <blockquote>
  <p>Doctor: SeePatient()</p>
  </blockquote>
  <p>While <code>SeePatient</code> is a use-case, it does not make sense for a method on the actual class. How do you think about this?</p>