File APIs for Java Developers
Manipulate DOC, XLS, PPT, PDF and many others from your application.
The moose likes Agile and Other Processes and the fly likes Mikado and Lakos Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login
JavaRanch » Java Forums » Engineering » Agile and Other Processes
Bookmark "Mikado and Lakos" Watch "Mikado and Lakos" New topic

Mikado and Lakos

Ernest Friedman-Hill
author and iconoclast

Joined: Jul 08, 2003
Posts: 24199

Have you guys read John Lakos "Large-Scale C++ Software Design?" For those that haven't, it's essentially a whole book about physical dependencies in software, and how to write code that can be separately compiled without spaghetti dependencies. In a sense, it describes alla prima strategies for getting to the end state Mikado is shooting for. If you've read the book, care to comment on the relationship? Does Mikado help you guide your system towards Lakos' ideal physical design?

Note: Amazon seems to indicate that a new edition of this rather dated book is due out soon!

[Jess in Action][AskingGoodQuestions]
Daniel Brolund

Joined: May 21, 2013
Posts: 5

We have not read that book, probably because we haven't worked with C++. :-)

As Ola has stated in one of the threads here, the Mikado Method helps you find what is stopping you and keep track of your change path (graph) to achieve a goal. The direction in which to take your codebase is up to you, speaking strictly Mikado Method.

But, we thought it would be evil to just leave our readers with that ;-) so in part II of the book, we do have a chapter where we talk about the things that has helped us immensely when restructuring (OO) code: Design principles. Low coupling, high cohesion, SOLID and the package principles, DRY, and more.

Looking at for instance SOLID and the packaging principles, they are what usually makes us avoid changes to ripple through the code base, making it possible for a large system to compile fast. We don't go into great detail, but we explain the basics and some smaller examples of what it might look like, in packages and in Mikado Graphs.

If Lakos takes the code in some other direction, you can use that direction when deciding how to resolve what is stopping you.

I hope that was some sort of comment on the matter. :-)
I agree. Here's the link:
subject: Mikado and Lakos
It's not a secret anymore!