Case study – building a “Check Engine” component
As a case study for the component-based architecture presented in this chapter, I extracted a component from a real software project I worked on into a standalone GitHub repository.2 The fact alone that I extracted the component with relatively little effort and that we can reason about this component without knowing anything about the software project it comes from shows that we have successfully conquered complexity by applying modularity!
2 The GitHub project with the “check engine” implemented in component-based architecture: https://github.com/thombergs/components-example.
The component is written in object-oriented Kotlin, but the concepts apply to any other object-oriented language.
The component is called “check engine.” It was meant to be a kind of web scraper that goes through web pages and runs a set of checks against them. These checks can be anything from...