The current study group book is Agile Software Development by Alistair Cockburn. Our next session, Tuesday March 11, will continue with the Papers by Naur, Ehn, and about Musashi in the appendicies, thus wrapping up the book.
After we finish this book, we will start in on Bitter Java by Bruce Tate, tales of server-side failed java projects.
The study group is focused on design patterns. It has been moderated for the past several years by Ken Dempster, Sun Certified Programmer on the Java 2 Platform. We currently meet three Tuesdays of the month at 7:30 p.m. at Panini's Cafe near Marina del Rey
Past study group topics:
Java idioms, using: Java Performance and Idiom Guide by Craig Larman and Rhett Guthrie.
Concurrent Programming, using Concurrent Programming in Java: Design Principles and Patterns by Doug Lea Doug Lea's home page is gee.cs.oswego.edu
Nik Boyd prepared Study Guide Questions for the Concurrent Programming sequence.
AOP (Aspect Oriented Software Development)
aosd.net
aspectj.org
aspect programming summary
AspectJ is a seamless aspect-oriented extension to Java that enables the modular implementation of a wide range of crosscutting concerns:
AspectJ.org.
Hyper/J supports "multi-dimensional" separation and integration of
concerns in standard Java software:
www.research.ibm.com/hyperspace/HyperJ/HyperJ.htm and
www.alphaworks.ibm.com/tech/hyperj JAC is a framework for aspect-oriented programming in Java:
jac.aopsys.com
JMangler is a framework for load-time transformation of Java programs,
which supports conflict-free composition of independently developed aspects
(implemented as JMangler transformer components) and their joint application
to existing base classes: javalab.iai.uni-bonn.de/research/jmangler
MixJuice is an extension to Java, based on the difference-based module
mechanism: staff.aist.go.jp/y-ichisugi/mj
ArchJava extends Java with explicit software architecture constructs,
separating out structural concerns that would otherwise crosscut the system:
www.cs.washington.edu/homes/jonal/archjava/
Refactoring
Refactoring study sequence
Design Patterns
Other Java stuff
Some other links of interest
Books used, discussed, recommended, mentioned, or even merely seen:
Refactoring by Martin Fowler
Design Patterns by Erich Gamma, et al
Patterns in Java, Vol. 1 by Mark Grand
Concurrent Programming in Java: Design Principles and Patterns by Doug Lea
The Structure and Interpretation of Computer Programs by Abelson and Sussman
The Pragmatic Programmer by Andrew Hunt et al
Writing Effective Use Cases by Alistair Cockburn
Database Design for Smarties by Robert J. Muller
Design Patterns for Object Oriented Software Development by Wolfgang Pree
Object-Oriented Software Development by Rebecca Wirfs-Brock et al
Planning Extreme Programming by Martin Fowler, Kent Bec
Extreme Programming in Practice by James Newkirk, Robert Martin
The Mythical Man-Month by Frederick Brooks
Object Oriented Design Measurement by Scott Whitmire
Proposed Study Group Topics from the Past:
- Design patterns
- Concurrent Programming Patterns
- Design Patterns Gang of Four
- Design Patterns Java related
- Wolfgang Pree - Meta Patterns
- What's new in 1.4
- Java API/Specifications (ex. Servlet, JSP, Swing, etc.)
- Non-Sun Java API/Specification (ex. Xerces, Ant, Log4J, Junit, Struts, etc.)
- Object Oriented Design Measurement by Scott Whitmire
- Designing Object-Oriented Software by Rebecca Wirf-Brock, Brain Wilkerson, and Lauren Wiener
- Installation/Configuration of Java related products
- Performance Tuning
- Design by Contract
- HP Fusion Methodology
- Natural Concept Modeling
- Use Case
- Topic of the Week
- Pragmatic Programmer
- Group Project
