I have been working as a C++ developer for some years now, and have lately gotten more interested in finding out what are the best practices for SW design. Think SW architecture, UML, design patterns etc. Can anyone recommend a good (and fairly new) book for modern SW design, preferably with UML examples?


I’m currently reading Large-Scale C++ Software Design by John S. Lakos, 1996. It is superficially outdated. For example, it doesn’t use UML notation but invents its own for no good reason.

Its big selling point is that it covers “physical design”, which is about files, folders, and dependencies between them. I rarely see that it other books but it is important.

You can find some videos from John Lakos at CppCon where he summarizes the key points.

I have three books about UML but they’re in 2000s. Is that new enough?


thanks, I will check out large-scale sw development. With new, i am thinking that a lot has happened since say C++11 wrt compile-time polymorphism that opens up for new ways to implement known patterns. Also i have worked mainly embedded, so if there are arhictectural patterns that are common for for example Java/C#/rust/go developers it would be nice to catch upnon that as well

General Programming Discussion

    A general programming discussion community.


    1. Be civil.

    Other programming communities:

    • /c/rust
    • /c/python
    • /c/powershell
    • /c/haskell
    • /c/fpcomplete
    • /c/cpp
    • /c/c_programming
    • /c/julia
    • 0 users online
    • 3 users / day
    • 9 users / week
    • 27 users / month
    • 189 users / 6 months
    • 2376 subscribers
    • 628 Posts
    • Modlog