Found in 7 comments on Hacker News
pjmlp · 2021-07-30 · Original thread
Ironically, the ECS advocates kind of miss the part that ECS models are based on OOP literature.

https://en.wikipedia.org/wiki/Component-based_software_engin...

"Component Software: Beyond Object-Oriented Programming"

https://www.amazon.com/Component-Software-Beyond-Object-Orie...

pjmlp · 2021-07-16 · Original thread
"Component Software: Beyond Object-Oriented Programming"

https://www.amazon.com/Component-Software-Object-Oriented-Pr...

The first edition uses Component Pascal instead,

https://www.amazon.com/Component-Software-Beyond-Object-Orie...

Then even if it hasn't taken the world by storm,

"Designing Object Oriented C++ Applications Using The Booch Method"

https://www.amazon.com/Designing-Object-Oriented-Application...

Assuming you also feel like reading about UML design stuff

"Object-Oriented Analysis and Design with Applications"

https://www.amazon.com/Object-Oriented-Analysis-Design-Appli...

pjmlp · 2021-06-28 · Original thread
They have, but there is a certain tendency to ignore CS literature.

"Component Software: Beyond Object-Oriented Programming"

https://www.amazon.com/Component-Software-Beyond-Object-Orie...

1st edition, 1998

pjmlp · 2021-02-19 · Original thread
It is a bit hard to just explain in a bunch of comments.

In your examples you need to add extra layers, just like you would do with the microservices.

There would be the DTOs that represent the actual data that gets across the models, the view models that package the data together as it makes sense for the views, the repository module that actually abstracts if the data is accessed via SQL, ORM, RPC or whatever.

You should look into something like:

"Domain-Driven Design: Tackling Complexity in the Heart of Software"

https://www.amazon.com/Eric-J-Evans/dp/0321125215

"Component Software: Beyond Object-Oriented Programming"

https://www.amazon.com/Component-Software-Beyond-Object-Orie...

pjmlp · 2020-10-01 · Original thread
Start here,

"Object-oriented programming: Some history, and challenges for the next fifty years"

https://www.sciencedirect.com/science/article/pii/S089054011...

Than read on BETA design for example,

https://beta.cs.au.dk/

Follow up with "The Art of the Metaobject Protocol",

https://mitpress.mit.edu/books/art-metaobject-protocol

and "Xerox LOOPS"

http://www.softwarepreservation.org/projects/LISP/interlisp_...

Then "Component Software: Beyond Object-Oriented Programming" (the 1st edition with Component Pascal)

https://www.amazon.com/Component-Software-Beyond-Object-Orie...

"Applying Traits to the Smalltalk Collection Classes"

https://rmod.inria.fr/archives/papers/Blac03a-OOSPLA03-Trait...

"Self – The Power of Simplicity"

http://media.cichon.com/talks/Introduction_Self_Language_OOP...

https://blog.rfox.eu/en/Programming/Series_about_Self/index....

How about this for starters?

pjmlp · 2020-09-03 · Original thread
Neither => Component Based Programming,

"Component Software: Beyond Object-Oriented Programming"

https://www.amazon.com/Component-Software-Beyond-Object-Orie...

https://www.amazon.com/Component-Software-Object-Oriented-Pr...

pjmlp · 2019-03-04 · Original thread
Which is ironic, given that people tend to forget that it was C++ which made OOP mainstream, there wasn't any Java or C# back then, two fully OOP based languages.

The other part is that component oriented programming is actually a branch of OOP, from CS point of view, with books published on the subject at the beginning of the century.

"Component Software: Beyond Object-Oriented Programming"

https://www.amazon.com/Component-Software-Beyond-Object-Orie...

First edition uses Component Pascal, Java and C++, with the 2nd edition replacing Component Pascal for C#.

Fresh book recommendations delivered straight to your inbox every Thursday.