You will never directly use an HttpSession object or similar wrapper to store state. Instead, state is associated with components. Each server- side page component holds a nested hierarchy of stateful components.” http://wicket.apache.org/meet/introduction.html
only shields the developer from the details of the underlying database management system, but also offers state management of objects. […] In other words, Hibernate application developers should always think about the state of their objects, and not necessarily about the execution of SQL statements.” http://docs.jboss.org/hibernate/orm/4.2/manual/en-US/html/ch11.html
new Short(s);! Integer iWrap = new Integer(i);! Long lWrap = new Long(l);! Float fWrap = new Float(f);! Double dblWrap = new Double(dbl);! Boolean boolWrap = new Boolean(bool);! Character chrWrap = new Character(chr);
anyone who has tried to enforce one can attest. ! If a data structure offers only an immutable API, that is what’s most important. ! If it offers a mixed API, it’s simply not immutable.” Rich Hickey
preserves the previous version of itself when it is modified. Such data structures are effectively immutable, as their operations do not (visibly) update the structure in-place, but instead always yield a new updated structure.” Wikipedia
ENTITY. An object that represents a descriptive aspect of the domain with no conceptual identity is called a VALUE OBJECT. ! Immutability is a great simplifier in an implementation. […] It is also consistent with the meaning of a value. If the value of an attribute changes, you use a different VALUE OBJECT, rather than modifying the existing one.” Eric Evans
[…] and objects. ! Values are immutable instances that model fixed quantities. They have no individual identity, so two value instances are effectively the same if they have the same state. Objects, on the other hand, use mutable state to model their behavior over time.” Steve Freeman & Nat Pryce
at different times, but the state itself doesn't change. That is, an identity is not a state, an identity has a state. Exactly one state at any point in time. And that state is a true value, i.e. it never changes. If an identity appears to change, it is because it becomes associated with different state values over time. This is the Clojure model. http://clojure.org/state
of immutable code in functional style and then small pieces of mutable code, doing imperative things, but having them be very localised and separate from the data and separate from the core behaviour of the system.” Gary Bernhardt, Destroy All Software
isn’t necessary. • The rest should be isolated and controlled. • We have the building blocks we need. • DDD and GOOS advise when & how. • The Clojure state model goes one further. • Frameworks may get in the way. Quarantine them.