Skip to main content

Not a Design Pattern

Posted by daniel on January 27, 2004 at 10:03 AM PST

You come up with a better solution that can be applied to problems of a specific type and proudly announce your new "Design Pattern" only to be told it's really just an "architectural style".

That's what happened to N. Alex Rupp after we published his last article Beyond MVC: A New Look at the Servlet Infrastructure. He began by looking at the MVC design pattern and presented, what he thought of as, an alternative design pattern to apply to servlet infrastrucutres. You'll find a lengthy debate in that article's talkback section. But one piece of feedback that Rupp reports on this time is that he's " been notified of a better term than pattern to describe what to call this collection of roles. It's just an architectural style. Nothing more, and simply put. I call this architectural style WARS, which is very appropriate considering the use to which we put it in designing Java web apps."

In his current article, The WARS Architectural Style Rupp describes the Shocks framework that is his proof of concept for the ideas introduced in the first article. My favorite part of the whole article his his statement:

Any implementation today is better than a perfect implementation tomorrow.

This modern day variation on "perfect is the enemy of good" makes so much sense whether or not you believe in IID. Get something up and running and then mold it into what you want. What do you think?

Update: I originally miswrote the above quote as " Any implementation today is better than a perfect implementation today." I'll say more tomorrow.


In
Also in Java Today
The Borland Developer Network article The Java Communications API: A Working Example provides an example of communicating with serial ports on a Windows box. As he notes in the conclusion, Java "is generally a platform independent language, there are times that we need to perform platform specific functions such as RS-232 communications. The Java Communications API allows us to do this in straightforward manner. "

In Managing Your Dependencies with JDepend , Glen Wilcox uses JDepend to analyze " the relationships between Java packages using the class files. Since packages represent cohesive building blocks of your architecture, maintaining a well-defined package structure provides insight into architectural qualities of maintainability, flexibility, and modularity. Packages also provide a useful mechanism for estimating the impact of requirements changes, so understanding their dependencies is also useful in this respect as well. Because JDepend's metrics are based on class files, they can be used to track the true state of your architecture at any given point in the software lifecycle."


In today's Weblogs ,
JBob writes about
Java and Linux - A natural fit.
. He asserts that "Providing better integration of Java into the Linux environment is a great new frontier that increases the audience of both. The Java.net Community Manager considers how Linux and Java fit together."


In Projects and Communities The Java Games community project jME "provides a high performance scenegraph based rendering and physics system. [... It] provides an abstract rendering system to allow for any Java renderer"

The HCI page on the Java Desktop wiki lists usability features such as: task suitable, understandable, navigable, conformable to expectations, tolerant of mistakes, and feedback rich. Add your thoughts to the wiki.


In today's java.net News Headlines
:

Registered users can submit news items for the href="http://today.java.net/today/news/">java.net News Page using
our news submission
form
. All submissions go through an editorial review by news director
Steve Mallet before being posted to the site. You can also subscribe to
thejava.net
News RSS feed
.


Current and upcoming
Java Events
:

Registered users can submit event listings for the href="http://www.java.net/events">java.net Events Page using our href="http://today.java.net/cs/user/create/e"> events submission
form. All submissions go through an editorial review before being
posted to the site.


Archives and Subscriptions: This blog is delivered weekdays as the
Java
Today RSS feed
. All java.net members can subscribe to the email
updates for the site at the href="https://java-net.dev.java.net/servlets/ProjectMailingListList">
java-net Mailing Lists page. You must be logged in to subscribe
to
the javanet_Daily and javanet_Weekly lists. Also, once this page
is no longer featured as the front page of
java.net
it will be archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.