|
|
|
|
|
by shadowwolf007
3277 days ago
|
|
You nailed why I think many object oriented designs fall flat. People presuppose both that the objects within their domain encompass all objects (just students and courses) as well as that the objects within a domain will not change. When #1 is missed I usually see that theres a design that doesn't mimic its domain and thus lose the ability for developers and users to have clear, concise communication. At that point OO is a disservice. When #2 is missed you end up with IFilteredCourseAdapterProcessor as people attempt to bolt on components to solve future needs. The addition of the "Registrar" to the domain immediately demonstrates how the naive interpretation is missing core components and I bet the users and devs fundamentally aren't speaking the same language. This, imo, leads to conversations like, "Of course so and so approves all the registrations! Otherwise it would be madness!" |
|