| “Software Systems Architecture” by Rozanski Basically, it’s not about the code. It’s about the form following the function. That is, first, deeply understand the context and purpose of the software, and the structure will follow. I also recommend “Domain Driven Design” by Evans. But, a warning - it’s dry. There are a lot of “DDD in Java” code examples out there. You could go back amd re-read “Code Complete”, and other early Microsoft Press books. Though, some are probably dated. The Robert Martin books can be also useful, at least in thinking about how to maintain low coupling, high cohesion. Oh, and “Working with Legacy Code” Unfortunately, none are specifically Java related. How to structure systems is an art that requires practice. So, maybe start off with some small toy projects, just to get warmed up. |