Skip to main content

Factories

Posted by daniel on April 14, 2005 at 10:41 AM PDT

Building classes out of air

Elisabeth and Eric Freeman have thought a bit more about the Factory design pattern. The Factory family enables you to create concrete instances of classes of a particular type at runtime. In reviewing their book "Head First Design Patterns", Erich Gamma made suggested they could remove a dependency on concrete classes in the implementation the Freeman's presented. Fortunately for us, they've had some time since the book released to figure out how to go about Breaking the Last Dependency.

They begin by providing a "separation between the instantiation of the concrete classes and our main code." They next use reflection and pass in the name of any class that instantiates a particular interface. In a final pass, they present a version that uses Properties files.


David Rupp builds an analogy on a game called Advanced Chess in which teams are comprised of a person and a computer program.
In today's href="http://weblogs.java.net"> Weblogs , the entry Teamwork he makes the observation "we tend to use the computer more as a slave than as a partner. What if we approached the development of web applications (or applications in general) as the development of "brain partners", facilitators that could be designed to augment the natural inner workings of our brains, shoring up the weaker areas and playing to our strengths? What would be a natural way of expressing such programs that would take advantage of the strengths of both sides?"

Malcolm Davis is Riding the trend curve . He writes
"following trends is a mistake. [..] Being involved in the community, and understanding technology concepts and restrictions, should play the primary factor in decision-making."

Johnn Bobowicz asks "Run anywhere" or "Runs everywhere"?
He argues "As Windows is the common denominator for desktops, Java is becoming the common denominator for everything."


In Also in
Java Today
, Qusay Mahmoud has surveyed the recent changes to Concurrent Programming with J2SE 5.0 .
"This article provides an overview and an introductory tutorial to the new concurrency mechanisms that have been added to J2SE 5.0. It helps developers get started using the new java.util.concurrent package and its subpackages."

There are many uses of Spring but in this JavaWorld article Steve Dodge shows how to Use Spring to create a simple workflow engine. He takes you through an example and highlights some of the advantages of using Spring and notes that " the workflow solution really stands out as being capable of highly robust error handling. An error handler may be separately wired for each activity. "


In Projects and
Communities
, the Java Distributed Data Acquisition and Control (JDDAC) framework version .4 expands the XML message format and improves support for phone platforms and adding transducers and further supports the NetBEAMS project.

The Java Tools community project
CssEditor "allows users to create and edit style-sheet elements using a simple GUI. The editor is implemented as a plugin for the jEdit editor." jEdit end-users can get CssEditor from its Plugin Central page.


Kohsuke points to The definitive BPEL and Java article in today's Forums. "from http://www.theserverside.com/news/thread.tss?thread_id=33279
BPEL for Web Services co-author Matjaz Juric discusses the role of BPEL and its relationship with Java in TSS' latest article. The article introduces BPEL and concentrates on the idea of extending BPEL, to be able to compose resources other than web services (EJBs, JMS, etc), and the possibility to mix BPEL and Java code."

Regarding getLocation(), Fabyprog writes "Why does JButton.getLocation() return Point of the JButton respect to Frame, but myPanel.getLocation() returns Point of the panel respect to father-panel"


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 before being
posted to the site. You can also subscribe to the href="http://today.java.net/pub/q/news_rss?x-ver=1.0">java.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
. 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.

Building classes out of air