News for hackers. Stuff that matters.
Re:The Case Against OOP Is Wildly Overstated by zozbot234 on Friday July 31, 2020 @03:09PM (#24012607)
> This maintains the invariant without state.

Yes, but this is not possible in general. For instance, what if you want to endow your List with a "MaxTotalCost", set at creation. You can't ensure that your list respects that invariant, other than by encapsulating it behind some custom interface.

Re:The Case Against OOP Is Wildly Overstated by joshuamorton on Friday July 31, 2020 @03:24PM (#24012814)
That's true, although it raises a question: is the maximum you're willing to spend a trait of your bill of materials (I'd argue no), or of some other thing, for example your overall project. In that case you could have a method that validates your BOM against your project requirements.