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

II.9 Design Decisions

Note

You may like to understand some of the important, huge, expensive, risky, or otherwise special architecture and design decisions.

It's especially interesting to understand the reasons for these decisions.

9.1 Checking of External Links Postponed

In the current version of HtmlSC, we can't check external links. These checks have been postponed for later versions.

9.2 HTML Parsing with jsoup

To check HTML, we parse it into an internal (DOM-like) representation. For this task, we use jsoup (https://jsoup.org), an open source parser without external dependencies.

To quote from their website:

"jsoup is a Java library for working with real-world HTML. It provides a very convenient API for extracting and manipulating data, using the best of DOM, CSS, and jQuery-like methods."

Goals of this decision: Check HTML programmatically by using an existing API that provides access and finder methods to the DOM tree of the file(s) to be checked.

Decision criteria would...