Published Sep 3, 2019

Episode 1: Patterns

    Explore the flexible and adaptive nature of software design patterns in this episode, where misconceptions are dispelled, and the role of patterns as dynamic frameworks is emphasized. Engage with experts as they delve into the history, application, and community-driven refinement of patterns like Observer and Proxy, showcasing their pivotal role in software engineering.
    Episode Highlights
    Software Engineering Radio - the podcast for professional software developers logo

    Popular Clips

    Episode Highlights

    • Conferences

      Pattern conferences, such as PLOP, play a crucial role in refining design patterns. These conferences, initiated in the early 1990s, are structured around writers' workshops where authors present their work and receive detailed feedback from experienced peers 1. This process, known as shepherding, enhances the quality of patterns by improving their content, structure, and language.

      The blob conferences are, so to say, our quality assurance and the community.

      --- Michael Kirchhoff

      These conferences are not just about presenting work but also about engaging with the community, making them a valuable starting point for those interested in patterns beyond just design 2.

         

      Literature

      Pattern literature offers a wealth of resources for those interested in design patterns. The Hillside group, accessible via hillside.net, serves as a central hub for the pattern community, providing links to books and other resources 3. This literature is essential for understanding the various forms and applications of patterns, offering insights into their development and use.

      I think we should explore a little bit what kind of other kinds of pattern, like literature there exists.

      --- Priyanka Raghavan

      Exploring this literature can deepen one's understanding of pattern languages and their role in software design 4.

         

      Workshops

      Workshops are pivotal in the development of patterns, providing a platform for serious discussion and refinement. They emphasize the importance of meaningful combinations of existing patterns, ensuring that new patterns offer additional value rather than merely rehashing old ideas 5. This process is crucial for the evolution of pattern sequences and languages, which describe the stepwise refinement of software architecture.

      Patterns are a good idea because they allow you to better communicate software.

      --- Michael Kirchhoff

      Such workshops not only enhance the quality of patterns but also contribute to the broader goal of maturing software development into a more structured engineering discipline 6.

    Related Episodes