| ▲ | stackghost 13 hours ago | |
>Ugh, a correct transfer function should conceptually just be the composition of our well encapsulated withdraw and a deposit functions, but defining it correctly has forced us to remove the locking from both withdraw and deposit, making both of them less safe to use. I know OOP isn't cool any more, but the above is what OOP solves. TFA's transfer() and withdraw() functions aren't compliant with double-entry accounting anyways, so you'd mark them private and only expose Transfer to callers. Let the class handle its own details. | ||
| ▲ | kragen 9 hours ago | parent | next [-] | |
OOP does not provide any help in solving the problem in question, and indeed encapsulation is a major obstacle to solving it. I think you haven't understood what problem is being discussed. | ||
| ▲ | mrkeen 12 hours ago | parent | prev [-] | |
> I know OOP isn't cool any more, but the above is what OOP solves. The article was a lengthy explanation of why the problem occurs in non-STM settings. In OO settings. What do you propose as an OO solution? | ||