| Similar Articles |
 |
JavaWorld March 2003 David Geary |
An inside view of Observer The Observer pattern lets you build extensible software with pluggable objects by allowing communication between loosely coupled objects. The author explores the Observer pattern, how it's used throughout the Java 2 SDK, and how you can implement the pattern in your own code.  |
JavaWorld December 2001 David Geary |
Decorate your Java code The Decorator design pattern lets you attach responsibilities to objects at runtime. This pattern proves more flexible than inheritance, which is static...  |
JavaWorld July 25, 2003 David Geary |
Make your apps fly Allocating numerous objects can degrade your application's performance. This article shows how to implement the Flyweight design pattern to greatly reduce the number of objects your application creates, which decreases your app's memory footprint and increases performance.  |
JavaWorld April 2002 David Geary |
Strategy for success The Strategy design pattern embodies two fundamental tenets of object-oriented design: encapsulate the concept that varies and program to an interface, not an implementation. This article shows how to use the Strategy pattern to implement an extensible design...  |
JavaWorld November 2000 Jeremy Blosser |
Explore the Dynamic Proxy API In Java 1.3, Sun introduced the Dynamic Proxy API, which can basically mimic any interface. Add that to an abstract data model, and you can conform any loosely typed data to a strongly typed interface. This article discusses some of the Dynamic Proxy API's many benefits...  |
JavaWorld October 2001 David Geary |
Amaze your developer friends with design patterns Design patterns are proven techniques for implementing robust, malleable, reusable, and extensible object-oriented software. This article introduces design patterns to Java developers and explores Strategy, Composite, and Decorator -- three common, yet powerful, design patterns in the JDK...  |
JavaWorld July 2001 Tarak Modi |
Clean up your wire protocol with SOAP, Part 4 Here's a framework based on the dynamic proxy classes in the Java 2 Platform, Version 1.3. This framework will make creating SOAP clients just as easy and intuitive as creating SOAP services...  |
JavaWorld July 18, 2003 James Carman |
Get down to business In this article, you will learn how to structure your applications such that modifications to the business object implementation do not require changes to the user interface using a simple framework for accessing your business objects.  |
JavaWorld November 2000 Geoff Friesen |
Applications, applets, and hybrids This article establishes our bearings and sets sail to the land of applications, applets, and hybrids (an unusual category of Java programs)...  |
JavaWorld May 30, 2003 David Geary |
Facade clears complexity The Facade design pattern simplifies complex APIs by providing a simplified interface to a complex subsystem. This article explores a built-in Swing facade for creating dialog boxes and a custom facade for getting a Swing application off the ground.  |
JavaWorld November 2001 Tom Tessier |
Create a scrollable virtual desktop in Swing The JScrollableDesktopPane class builds upon the Swing component classes JDesktopPane, JScrollPane, JToolBar, and JMenu to provide a virtual desktop environment replete with dynamic scroll bars, dynamic menus, and dynamic button shortcuts...  |
JavaWorld May 2000 Jason Briggs |
Dynamic user interface is only skin deep A skin is a collection of images and a definition file, which together describe an application interface. Here are ways to use skins to customize your applets...  |
JavaWorld August 29, 2003 David Geary |
Follow the Chain of Responsibility The Chain of Responsibility (CoR) pattern decouples the sender and receiver of a request by interposing a chain of objects between them. This article discusses the CoR pattern and two implementations of that pattern in the Java APIs -- one from client-side Java and the other from server-side.  |
JavaWorld June 2002 David Geary |
Take command of your software How to use the Command pattern both in client-side Java to attach application-specific behavior to Swing menu items and in server-side Java to implement application-specific behavior with the Apache Struts application framework.  |
JavaWorld November 2000 M. Jeff Wilson |
Get smart with proxies and RMI RMI enables developers to either get a remote reference to a distributed object, in which all method calls are forwarded to the server object, or get a copy of the remote object and invoke on it locally. You can combine these approaches in a way that is transparent to the client code...  |
JavaWorld November 2001 John Chamberlain |
Implement a J2EE-aware application console in Swing Learn the fundamentals of Swing while creating a command console to control complex enterprise applications. A console provides a window into a system's operation and allows operators to configure, monitor, and control the system in real time...  |
JavaWorld October 3, 2003 Allen Holub |
Create client-side user interfaces in HTML This article presents a variant on Swing's JEditorPane that makes it possible to specify an entire screen of your client-side user interface (UI) in HTML.  |
JavaWorld February 2002 Jeff Friesen |
Classes within classes As with fields and methods, Java allows classes to be members of other classes. This article explores Java's support for class nesting...  |
JavaWorld February 2001 Brian Goetz |
Design for performance, Part 2: Reduce object creation Many common Java performance problems stem from class design decisions made early in the design process, long before most developers even start thinking about performance. The author discusses some techniques for reducing temporary object creation...  |
JavaWorld February 2001 Robert Nielsen |
Learn Java from Ben Franklin While Benjamin Franklin never wrote a line of Java code, his techniques for better writing can be applied to writing Java. Anyone with at least a basic grasp of Java can use Franklin's learning methods...  |
JavaWorld August 2002 Guy Gur-Ari |
Empower RMI with TRMI Transparent Remote Method Invocation (TRMI) extends RMI to simplify the creation of distributed applications by allowing centralized RemoteException handling and by allowing any interface to be used remotely. This article tours TRMI's inner workings.  |
JavaWorld August 2001 Jeff Friesen |
Object-oriented language basics, Part 5 Every Java class has a superclass. In the absence of an extends keyword, Object is that superclass. Object takes center stage as this article presents its 11 methods...  |
JavaWorld September 2001 Jeff Friesen |
Object-oriented language basics, Part 6 Learn why Java's standard class library contains empty interfaces (such as Cloneable and Serializable). Also, examine the power of interfaces and learn why they provide more than a workaround for Java's lack of multiple implementation inheritance support...  |
JavaWorld June 2001 Jeff Friesen |
Object-oriented language basics, Part 3 The author explores composition and demonstrates its value in object-oriented programming. Composition and inheritance are design consepts related in a manner similar to both sides of the same coin...  |
JavaWorld September 2000 Frank Sommers |
Activatable Jini services, Part 1: Implement RMI activation Jini services must be long-lived and resilient, and must efficiently manage their computational resources with little user intervention. This article shows how to use RMI activation to manage computational resources and increase the availability of Jini services...  |
JavaWorld November 2001 Jeff Friesen |
Class and object initialization An exploration of class and object initialization, which introduces the strange concepts of the <clinit> and <init> methods...  |
JavaWorld July 2000 Todd M. Greanier |
Flatten your objects The Java Serialization API is used by many other Java APIs (like RMI and JavaBeans) to persist objects beyond the duration of a running virtual machine. This article tries to demystify the secrets of the Java Serialization API.  |
JavaWorld December 2001 |
Letters to the Editor In this month's letters, David Geary expounds further on the Decorator pattern, Humphrey Sheil defends EJB performance, and Jeff Friesen talks more trash...  |
JavaWorld May 9, 2003 Frank Sommers |
Jini Starter Kit 2.0 tightens Jini's security framework Security for distributed systems based on mobile Java code is the theme of Sun Microsystems' new Jini Starter Kit, JSK 2.0. This article introduces JSK 2.0's security-related features.  |
JavaWorld March 2001 Jeffrey Peden |
Browse user interfaces for Jini services The ServiceUI specification developed by the Jini.org community defines a suggested procedure for attaching user interfaces to Jini services...  |
JavaWorld March 2002 James Carman |
Write once, persist anywhere Most J2EE applications strive to abstract the database tier by employing the Data Access Object design pattern. This article shows you a DAO pattern framework that you can reuse on all your projects, regardless of object type...  |
JavaWorld June 2001 Michael Daconta |
An API's looks can be deceiving When you examine an API, your first impressions are often wrong. The author examines two cases where an intuitive model of how an API should work trips over the complexity of implementation details...  |
JavaWorld May 2001 Jeff Friesen |
Object-oriented language basics, Part 2 In this article, you'll gain an understanding about fields, parameters, and local variables and learn to declare and access fields and methods...  |
JavaWorld April 2001 Geoff Friesen |
Object-oriented language basics, Part 1 An introduction to object-oriented programming and how to declare classes and create objects from those classes...  |
JavaWorld October 2001 Jeff Friesen |
Object-oriented language basics, Part 7 This final installment of Java 101's object-oriented programming series explores Java's support for polymorphism and investigates how abstract classes accommodate generalities in class hierarchies.  |
JavaWorld April 2001 Piet Jonas |
Secure type-safe collections A framework that overcomes the standard Java Collections Framework's main problem: its containers lack the ability to restrict themselves to storing objects of a specific type. The solution uses reflection, wrapper classes, and a collection of static factory methods...  |
JavaWorld September 2001 Wally Flint |
Access control for partial exposure With Java's built-in access control, you can't expose fields and methods to some classes in a package, while hiding them from others in the same package...  |
JavaWorld October 2002 Jeff Friesen |
Java's character and assorted string classes support text-processing Text-processing is one of the more frequent activities in which computer programs engage. Java supports that activity via the Character, String, StringBuffer, and StringTokenizer classes. This article explores each class and introduces you to an assortment of those classes' methods.  |
JavaWorld November 2001 Michael C. Daconta |
Practice makes perfect One pitfall stumbled on while porting an Extensible User Interface Language (XUL) game to Java and two pitfalls sent in by readers...  |
JavaWorld June 2000 |
Letters to the Editor (June 23, 2000) Jason Hunter addresses a gripe with calling instanceof when using JDOM; Mark Johnson responds to feedback on his XML series; reader challenges Tony Sintes about whether it truly is impossible to write a swap method...  |
JavaWorld August 2002 Greg Holling |
Put Java in the fast lane This article presents some techniques for locating performance bottlenecks in Java applications and offers suggestions for improving Java performance. Along the way, you'll look at some of the classes in the new java.nio package.  |
JavaWorld October 2001 Tony Loton |
JavaMail quick start This article shows the first steps on the road to building Java-based email applications. If you fancy building your own email client to replace Microsoft Outlook, or a Web-based email system to rival Hotmail, this is the place to start...  |
JavaWorld December 2000 Victor Okunev |
Validation with pure Java The importance of employing a good data-validation framework cannot be overestimated. The core Java API has everything you need to solve this problem in the most elegant way.  |
JavaWorld December 2001 Bill Pierce |
Diagnose common runtime problems with hprof Ever been a few days from releasing an application when testing reveals a memory leak or something causing the CPU to spin out of control? Few people realize that the Java 2 JDK provides a useful profiling tool called hprof, which you can use to diagnose these behaviors with minimal fuss...  |
JavaWorld February 2002 Luke Taylor |
Customized EJB security in JBoss The current Enterprise JavaBeans specification supports basic declarative, role-based access-control mechanisms, but provides limited support for coding application-specific security checks. Moreover, it doesn't define any way to factor out access-control code from business logic, or to integrate external authorization services. The open source, J2EE-compliant JBoss application server features a protection-proxy security architecture that will help you overcome these restrictions.  |
JavaWorld May 2002 Toby Reyelts |
Integrate Java and C++ with Jace Jace -- a free, open source toolkit -- lets you easily write JNI (Java Native Interface) code. This article analyzes in detail the JNI API's problems and how Jace solves them...  |
JavaWorld January 2002 Jeff Friesen |
Trash talk, Part 2 This article explores the Reference Objects API, an API that allows your programs to interact with the garbage collector in limited ways...  |
JavaWorld March 2002 |
Letters to the Editor JavaWorld readers warn about synchronization; present a Servlet 2.2-compliant solution for mixing protocols in Web apps; suggest using the Data Object Access design pattern with the Value Object design pattern... etc.  |
JavaWorld December 2000 Mark Johnson |
C#: A language alternative or just J--?, Part 2 Despite their enormous similarities, Java and C# differ greatly in many language details and also in their basic technical intent. This second article of a two-part series covers C# language constructs and concludes with some speculation on the idea of standardizing C#...  |
JavaWorld March 2001 Brian Goetz |
Design for performance, Part 3: Remote interfaces Many common Java performance problems stem from class design decisions made early in the design process, long before most developers even start thinking about performance. This article examines performance issues specific to remote applications...  |