HN2new | past | comments | ask | show | jobs | submitlogin

> let cart = Cartridge::blow_dust("path/to/rom.nes")?;

I chuckled.



That's like those objected-oriented programming examples you get in college, from professors who learned in the 90s and literally think in terms of "modelling" real objects with OOP.


Nothing wrong with modelling your real world business objects with OOP. Thats essentially what Domain Driven Design(https://en.wikipedia.org/wiki/Domain-driven_design) is. It's difficult to pull off sometimes but this is the ideal usage of OOP.


That's still how most OOP tutorials do it tho. It's an industry-wide disease


To be fair they may actually know there stuff but from a didactic point-of-view it is very difficult introduce a `FactoryProvider` (or to a lesser extent even an `HTTPClient`) alongside basic OOP concepts.


Use real useful code example

Have Logger with StdoutLogger as basic example of it

Then FileLogger that extends it with few functions related to files

Then DBLogger with few functions related to logging to database

Then TestLogger for integrating with test framework




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: