Q1. Trong nghiên cứu trường đại học của tôi về mô hình hướng đối tượng và thiết kế họ khuyên bạn nên suy nghĩ về những gì một đối tượng có thể làm cho phương pháp của nó, và những gì trách nhiệm của nó là cho các thuộc tính của nó. Tất cả các nỗ lực làm rõ đã dẫn đến sự nhầm lẫn hơn nữa.Phương pháp trong thiết kế hướng đối tượng
Điều này có xu hướng tạo ra một sơ đồ lớp với các tác nhân có tất cả các hành động và các lớp bên trong chỉ chứa dữ liệu.
Điều này có vẻ không chính xác. Có cách nào khác để suy nghĩ về cách mô hình hóa các đối tượng không?
Q2. Ngoài ra, khóa học dường như nhấn mạnh mô hình hóa các đối tượng sau các đối tác trong thế giới thực của chúng, nhưng nó không nhất thiết phải có ý nghĩa trong mô hình miền. I E. Trong một thực tế y tế, họ có Patient: CreateAppointment(), CancelAppointment()
nhưng đó không phải là cách nó sẽ được thực hiện (bạn sẽ thay đổi một bộ sưu tập cuộc hẹn thay thế). Có cách nào khác để suy nghĩ về điều này không?
Ví dụ Q1
Thư ký: RecordAppointment(), RecordAppointmentCancellation()
Bổ nhiệm: thời gian, ngày tháng, ... (không có phương pháp)
Ví dụ Q2
Doctor: SeePatient()
Trong khi SeePatient
là một use-case, nó không có ý nghĩa đối với một phương thức trên lớp thực tế. Bạn nghĩ thế nào về cái này?
Không có cách nào khó. Nó quá tầm thường hóa tất cả các phương pháp hợp lệ khác nhau để chỉ xem xét 'car.wheelCount'. Trong trường hợp nói rằng, các cuộc hẹn, có vẻ như "rõ ràng" hơn rằng người ta sẽ "bác sĩOfficeSchedule.createAppointment (bệnh nhân, ...)', ví dụ. Tức là, tôi có khuynh hướng hướng dữ liệu so với 'hướng đối tượng'. –