Folks,
The following proposal [1] impacts domain logic, comments welcome on this
thread or on the JIRA issue itself.


Currently properties are read/write by default; the programmer has to
> annotate with @Disabled (or equivalent) to make read-only.
> While this "subtractive programming" approach is nice for demos, the truth
> is that with larger applications, if not rigorously and completely tested,
> the end-user may get the opportunity to change something that they ought
> not; potentially corrupting data.
> It would be better (and safer) for properties to be read-only by default.
> The presence of the modifyXxx(...)/clearXxx() supporting methods would
> then indicate that they are read-write.
> Another possible benefit is that - if we implement ISIS-273 (to read from
> fields) then the amount of boilerplate would substantially be reduced if a
> tool like Lombok was used.  That is, read-only properties would consist
> solely of a private field; read-write properties would be the field plus
> the modify/clear.
> It might also make sense for the clearXxx() method to be optional; that
> is, to allow modifyXxx(..) to be called with null.
> NB: for view models, properties could (perhaps) remain as read-write;
> there are no side-effects.



Cheers
Dan

[1] https://issues.apache.org/jira/browse/ISIS-804

Reply via email to