Immutable Object versus Unsynchronized State
Maintaining state is a common place among today's complex systems, and choosing how systems interact with this state is one of the earliest design decisions that is made. With the rise of the multi-core processor, concurrency is becoming more and more common place and dealing with state transforms into a potential debugging nightmare. In this session we will discuss the difference between mutable and immutable state; how your systems behave when dealing with mutable versus immutable state; as well as learn when and where the best fits are for mutable and immutable state. Finally we will finish up with some common mutable (and immutable) anti-patterns and learn how to avoid them.