Are the days of large object graphs done? When I first learned to program, there was not a whole lot of discussion of architecture and design. Algorithms and data structures were the core (as it should be).
This led to most of us building large object graphs read into memory on application start-up. Over the years I've spent time digging through source code of legacy desktop applications (e.g. office applications and games) and it seems that they followed the same type of architecture. In all cases, the object graph seemed to represent something of a tree:
obj / \ obj obj / \ / \ obj obj obj obj / \ / \ / \ / \ obj obj obj obj obj obj obj obj
As I dig threw newer source code, what I see on here, what I read in books, and what I aim for is a much smaller object graph. I can only assume this has to do with the push to mobile, web, distributed systems, etc.
Is there any advantage to using large object graphs other than simplicity? Is better to read into memory what I need at the time and leave everything on disk, in the database, etc?