Required Reading: "How Non-Member Functions Improve Encapsulation"
w0rp
devw0rp at gmail.com
Sun Oct 29 08:45:15 UTC 2017
I've noticed the benefits of writing non member functions in
Python codebases. Say if you have a User model in a Django ORM,
and you have a Thing model, and some operation on User and Thing.
I've noticed that your code is almost always better if you write
a non member function on User and Thing, instead of a member of
User or Thing.
Often a function belongs to neither type. Instead the logic cuts
across those two types. The key disadvantage I notice is ending
up with very large and unreadable classes which poorly categorise
business logic, when you could have been categorising functions
in modules based on different business needs.
More information about the Digitalmars-d
mailing list