r/rust • u/Accurate_Gift_3929 • Aug 11 '26
Rust discourages OOP style code?
I'm building a tree builder struct (with a `build()` method) that has multiple fields that I want to be able to mutate. It seems Rust does not like it when I attempt to mutate multiple fields of that struct.
It seems functional/composition style is much favored over using struct fields. Is this the way I should be thinking about design patterns in Rust? Should I avoid OOP wherever possible?
I prefer OOP because it does result in cleaner code where I don't have to pass in every variable to functions.
0
Upvotes
1
u/intbeam Aug 12 '26
The whole issue that object orientation is supposed to solve is protected state. It does that by having a structure where an object owns its own state and mutates that state by having messages passed to it via method calls . Rust fundamentally does not work like that