Last Friday I participated in a new meet-up: The IDesign Method – System Design. The meet-up was organized by Jarkko Kemppainen, the Principal of IDesign Europe. The company has developed its own approach to design new system, which is available for download from their website. Here are a few interesting statements from the meet-up.
There are two main features of the requirements:
- they are often wrong and
- they always change
So why would you ever design a system based on the requirements?? Instead you should design systems against its volatile aspects.
A couple of questions, which can help to identify things, which will change:
- what has changed during the last 5-10 years?
- what prevents you from using a similar system from your competitor?
The approach results in a multi-layered design with a number of {.NET: utilities, Java: aspects}. A good question to determine if a module is an aspect:
- can this module be used in a cappuccino machine?
I know this article is old but I have a question.
I have used the Idesign method very successfully in the past with .Net and WCF but how does one go about go about applying this to java?
I know the method is an extension of SOLID. but what service technology do you use for the communication between manager and engines and manager and resource access? Each of these can be a restfull http service but that would really affect performance.
Hi Wayne,
Yes, indeed, this is a very old article. I’m not very much into iDesign, but I forwarded your question to Jarkko Kemppainen.
Meanwhile you can scan http://jv-ration.com/2014/04/attempt-to-map-wcf-to-java-terms/ – this is my attempt at the time to map what I understood about iDesign to Java world.
Thanks for reaching out,
Viktor