I understand the benefit of "code organization". but this is not slimming down the model, it's just moving stuff around. perhaps making it even harder to understand the User model because you now have to look at two different files. User isnt more SRP either, a central OO principle. I'm looking for a good reason why this is better in the sense of OO.
Thanks! :)
What OO gurus would suggest is that this object's "friendship" responsibility should be slit into POROs that can send messages to the original User object and be tested independently. Is there no other PORO way to do this?
hi there,
Just curious, why the approach of errors and if/unless logic instead of raising an exception of the class invariants are not set? i would think it'd be much simpler to use an exception for this and keep the service logic simpler and easier to test (esp for a more complex service). I remember hearing "experts" (like Sandi Metz) say this was ok to use exceptions for business logic rule errors, and this would seem to be one).
Thanks!