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

IV.5 Building Blocks-Level 1

The application that's packaged as biking2.jar contains two of three main parts (the api and the spa), as shown in the business context:

Figure 4.7: Level 0 building blocks

Let's have a closer look at the API. For details regarding the structure of an AngularJS 1.2.x application, have a look at their developer's guide (https://code.angularjs.org/1.2.28/docs/guide).

Note

To comply with the Java coding style guidelines, the"bikingPictures" and "galleryPictures" modules reside in the "bikingpictures" and "gallerypictures" Java packages.

5.1 Whitebox biking2::api

The following diagram shows the main building blocks of the system and their interdependencies:

Figure 4.8: Level 1 building blocks

I used functional decomposition to separate responsibilities. The single parts of the API are all encapsulated in their own components, represented as Java packages.

All of the components depend on a...