Sign up
Forgot password?
FAQ: Login

Molinari E. Coding an Architecture Style

  • pdf file
  • size 4,84 MB
  • added by
Molinari E. Coding an Architecture Style
Leanpub, 2021. — 140 p.
If you have had the bad experience of having to maintain a complex "big ball of mud" enterprise application, with pressure from the business to go to production with new features under an aggressive schedule, you, better than anyone, know how important is to have a solid architecture with clearly defined rules where we can make modifications, having an understanding where every change will impact.
However, it is not enough to understand how to create solid architecture by looking at beautiful architectural diagrams. Or by reading long explanations about the benefits of Microservices or Modularity. Understanding how to create solid structures requires opening an IDE and starting coding. We have to learn what syntactical constructions, other than classes, functions, and procedures, our favorite programming language offers to create large-scale applications and just there we will be able to craft different software structures and start recognizing their benefits and drawbacks.
Throughout this book, we will iterate an application in order to show how to code different architecture styles. In each iteration, we study and implement an architecture style, going through layered architecture, hexagonal (or ports and adapters), modular, and microservices. All this is supported by solid architecture concepts, simple designs, and good practices. We use Java 11 to implement all the mentioned styles. In particular, to implement the modular architecture style we use the module system incorporated in Java since version 9. We also show different options to verify the architecture rules imposed by each style. All sources are available for the reader.
Although the implementation is done in the Java language, it is possible to apply the same concepts in languages such as PHP, Ruby, Python, or .NET.
We will also review the different architectural views, we discuss properties of monolith vs distributed architectures to finish with a pragmatic study of availability and scalability quality attributes.
  • Sign up or login using form at top of the page to download this file.
  • Sign up
Up