I have been working on Java platform for long time now and I am familiar with a few design patterns.My question is how do you go about developing a design pattern specific to an application that will ensure High Availability or scalability for example?
Ultimately, patterns are discovered. They come from your experience designing certain types of systems and result from you finding certain designs that you tend to reuse in similar contexts. For instance, I've used variations of the modularity patterns in my book over the course of the past decade. When you find a design that works, you stick with it. I've found the modularity patterns work and deliver the benefits I discuss in the book. Hopefully, others will find them valuable too.
Visit the book's website at modularity.kirkk.com where you can review all 18 patterns and download an excerpt of the book. There is also a mobile web application available that you can take with you wherever you go.