Book Image

arc42 by Example

By : Dr. Gernot Starke, Michael Simons, Stefan Zörner, Ralf D. Müller
Book Image

arc42 by Example

By: Dr. Gernot Starke, Michael Simons, Stefan Zörner, Ralf D. Müller

Overview of this book

When developers document the architecture of their systems, they often invent their own specific ways of articulating structures, designs, concepts, and decisions. What they need is a template that enables simple and efficient software architecture documentation. arc42 by Example shows how it's done through several real-world examples. Each example in the book, whether it is a chess engine, a huge CRM system, or a cool web system, starts with a brief description of the problem domain and the quality requirements. Then, you'll discover the system context with all the external interfaces. You'll dive into an overview of the solution strategy to implement the building blocks and runtime scenarios. The later chapters also explain various cross-cutting concerns and how they affect other aspects of a program.
Table of Contents (9 chapters)
Free Chapter
1
Acknowledgements
8
VII - macOS Menu Bar Application

VI.4 Solution Strategy

This chapter describes the strategy we used to approach problems in the past and how we will approach them in the future.

General Solution Strategy

The first docToolchain tasks evolved from standalone scripts that were executed from the command line. The next logical step was to include them in a build system.

In Gradle, it is relatively straightforward to be able to include a Groovy-based script as a new task:

task newTask (

    description: 'just a demo',

    group: 'docToolchain'

)   {

    doLast {

        // here you can put any Groovy script

    }

}

The original build.gradle soon grew into a huge single file. To make it more modular, we split it up into so-called script-plugins (https://docs.gradle.org/current/userguide/plugins.html#sec:script_plugins). You extract tasks that belong together in an extra .gradle file (for...