IBM in May updated their "Software Architect Kit", a bundle of content for architects including podcasts by Grady Booch on trends, patterns and best practices in architecture, webcasts, demos, and whitepapers on patterns-based development, SOA, model-driven architecture, and software structure & modularity. The kit requires registration before all the content can be downloaded.
Werner Schuster walks us through a simple example of adding Java-style properties support (declarative getters, setters and change listeners) to Ruby classes via a Mixin by using elements of Ruby meta-programming. Introduces ideas for enhancement using principles of design-by-contract and pluggable type systems.
Edward Bakker and Jezz Santos have been writing about Software Factories, providing a complete set of concise guidelines. The Microsoft Software Factories and DSL initiatives have caused many discussions. Today, Microsoft provides tools such as the Guidance Automation Extensions (GAX), the Guidance Automation Toolkit (GAT), and the Domain-Specific Language Tools (DSL Tools).
In this article Boris Lublinsky outlines the complexities of dealing with the enterprise data and discuss several design patterns for SOA implementations.
Organizations adopting Agile naturally ask these questions; "Where do I start?", "What specific practices should I adopt?", "How can I adopt incrementally?" and "Where can I expect pitfalls?" In this article, Amr Elssamadisy gives a glimpse into an ongoing effort to document Agile practice adoption patterns: Participants at XPday Montreal took a stab at "Simple Design" and "Pair Programming."
The Patterns and Practices Guidance Explorer gives developers the ability to quickly find guidance on a variety of topics. Documents in the Patterns and Practices Library are currently divided into categories such as Checklists, Code Examples, Guidelines, Principals, and Test Cases.
The 2006 Patterns and Practices Summit has begun. This Microsoft Sponsored event runs through October 12 and covers a wide gambit of issues, technologies, and techniques.