Shalloway’s Law and Shalloway’s Principle
In my earlier post I mentioned these. OK, I know it was a tease, but now that someone has asked for what they are I figured I’d better fess up.
A couple of years ago I decided, hey, I’m CEO of a successful company, co-author of a successful book (Design Patterns Explained: A New Perspective on Object-Oriented Design), … I ought to have something named after me.
Anyway, here goes:
Shalloway’s Law:
“When N things need to change and N>1, Shalloway will find at most N-1 of these things.”
Hey, I didn’t say it was complimentary. It’s a law! I have to follow it. That’s the problem. BTW: They didn’t ask me about gravity either when I was born! I really would like to break that law at times too!
So I came up with Shalloway’s Principle:
“Avoid situations where Shalloway’s Law applies”
What situations are these? When N > 1. In other words, avoid redundancy. But when you can’t, make sure you can find everything with a tool or something. For example, I may have redundancy in my interfaces. But I also have a cool “to do list generator” (some people call it a compiler) that when I change a method’s interface it tells me what I need to update. Better not to have redundancy at all, but if you do, make sure Shalloway’s law does not apply.
Alan Shalloway
- alshall's blog
- Login or register to post comments


Technorati Tags:
tag with del.icio.us