I have a copy of Game Coding Complete (4th Ed.) and have read about half of it (it's huge, nearly 1000 pages). The organization the authors describe seems pretty logical to me, and most of their recommendations on how to do things seem to be backed up with horror stories about what happened to commercial game projects that did it another way.
I want to know when inheritance will work and when the <object> component pattern will be better.
GCC covers exactly this topic pretty early in the book. I actually gutted my own project and rebuilt it after reading it; they make a very convincing argument as to why inheriting everything from a base object class will lead to trouble.
Game Engine Architecture seems pretty good too. I've only skimmed through it, but it seems good enough to be worth a buy. Just a heads up: they have a new edition coming out in October. That's the only thing keeping me from ordering a copy today, tbqh.