|
|
|
|
|
by deterministic
699 days ago
|
|
What works for me: There are two types of objects: State objects and Tool objects. The purpose of a State object is to maintain a state. Think strings, databases, files etc. The purpose of a Tool object is to operate on State objects. Think loaders, printers, editors, transformers etc. It’s a simple way to organise OO code. And it works. At very large scale (millions of lines of C++). It is similar to the functional Data/Function thinking. However it actually works better because State objects can enforce constraints, and Tool objects can cleanly maintain an internal temporary state while operating on State objects. |
|