Browse Part IV: Migrating from Java to Clojure

11.4 Refactoring Object-Oriented Designs

In this section

  • 11.4.1 Decomposing Classes into Functions and Data Structures
    Learn how to transition from class-based Java structures to functional and data-centric Clojure designs. Understand the conversion of methods to pure functions and reconcile object hierarchies with simpler functional paradigms.
  • 11.4.2 Managing State Functionally
    Explore techniques for managing state in Clojure using immutable structures and functional updates, along with tools such as atoms, refs, and agents for handling stateful behavior effectively.
  • 11.4.3 Replacing Inheritance with Composition
    Explore achieving code reuse and polymorphism in Clojure using composition over inheritance. Learn to use protocols and multimethods for polymorphic behavior in functional programming.
Saturday, October 5, 2024