The Artima Developer Community

Design Corner
Services
Forums
Advertise
Consulting
Java News
Newsletter
Seminars
Books

Topics
Jini Corner
Design Corner
Web Services
Java Corner

Artima
Media Kit
Write for Us
Privacy Policy
About Artima
RSS Feeds
Miscellaneous Design Resources:
Object Design - a work-in-progress about object-oriented design with Java
Recommended Design Books - descriptions of books related to Java and object-oriented design
Design Forum - A place to discuss topics related to software design, including object-oriented design, system architecture design, and API design.
Object Oriented Design Resources - a set of links to more information about Java design, object oriented design, and patterns
Object Design Workshop - three day in-house OO/Java design workshop

Interviews on Design:
Perfection and Simplicity - the myth of "the perfect design" and ways to achieve design simplicity
Taste and Aesthetics - the role of taste in design and the importance of designing with the user in mind
Designing Distributed Systems - designing for failure, using transactions and idempotency, and avoiding state
A Conversation with Josh Bloch - The author of Effective Java talks about design

Design Techniques Articles:
Table of Contents - a list of all articles with detailed descriptions
Introduction to "Design Techniques" - the role of design within the software development process, and the various and competing goals of a "good" software design
Object Initialization in Java - the process of object initialization in Java programs
Designing Object Initialization - how to design initializers and constructors to facilitate proper object initialization
Designing Fields and Methods - how some fundamental software design techniques, like avoiding special data values and minimizing method coupling, apply to Java
What's a Method To Do? - how to maximize method cohesion while avoiding method explosion
Object Finalization and Cleanup - design guidelines that pertain to the end of an object's life
The Hotspot Virtual Machine - discusses the hotspot virtual machine and how this forthcoming technology impacts Java program design
Exceptions in Java - an in-depth account of exceptions in the Java language and virtual machine
Designing with Exceptions - design guidelines concerning when and how to use exceptions
Designing for Thread Safety - design guidelines concerning when and how to make objects thread-safe
The Event Generator Idiom - discusses how and when to make a Java class observable
The Canonical Object Idiom - proposes and idiom that defines a baseline set of functionality for objects
Inheritance versus Composition - discusses how to choose between inheritance and composition
Designing with Interfaces - discusses how to use Java's interface
Designing with Dynamic Extension - discusses how to use forName() and class loaders in designs
Designing with Runtime Class Information - discusses how to use all the information about an object's class that is available at runtime
Designing with Static Members - discusses how to use static fields and methods
Farewell to 'Design Techniques' - gives a brief history of the column with relevant links

Legacy Design Forum Topics:
Table of Contents - links to all forum topics
Flexibility as a Design Goal - a look at different people's ideas and opinions on software design and the overall software development process
The Set/Get Question - discussing the merits of methods that give the clients a view of an object's attributes versus methods that perform services
Designing Fields and Methods - discussing the nuts and bolts of designing fields and methods
Maximizing Method Cohesion - discussing how to chop up responsibilities into methods
Finalization and Cleanup - discussing the end of object lives
The Hotspot Virtual Machine - discussing the Hotspot Virtual Machine and its impact on Java program design
Designing With Exceptions - discussing when and how to use exceptions
Designing For Thread Safety - discussing when and how to make classes thread-safe
When To Bean? - discussing when make classes into JavaBeans
To Bean or Not to Bean? - text of an e-mail debate about when to beanify Java objects
Canonical Object Idiom - discussing a base level functionality for classes
Event Generator Idiom - discussing an idiom that shows how to use nofication in Java program designs
Composition vs. Inheritance - discussion about when to choose composition vs. inheritance in designs
Designing with Interfaces - discussing when to use interfaces
Designing with Dynamic Extension - discussing when to use dynamic extension in Java programs Designing with Runtime Class Information - discussing when to use runtime class information in Java programs
Designing with Static Members - discussing when use static members in Java programs

Advertisement

Sponsored Links



Google
  Web Artima.com   
Copyright © 1996-2019 Artima, Inc. All Rights Reserved. - Privacy Policy - Terms of Use