Book Image

Building Applications with Spring 5 and Vue.js 2

By : James J. Ye
Book Image

Building Applications with Spring 5 and Vue.js 2

By: James J. Ye

Overview of this book

Building Applications with Spring 5 and Vue.js 2, with its practical approach, helps you become a full-stack web developer. As well as knowing how to write frontend and backend code, a developer has to tackle all problems encountered in the application development life cycle – starting from the simple idea of an application, to the UI and technical designs, and all the way to implementation, testing, production deployment, and monitoring. With the help of this book, you'll get to grips with Spring 5 and Vue.js 2 as you learn how to develop a web application. From the initial structuring to full deployment, you’ll be guided at every step of developing a web application from scratch with Vue.js 2 and Spring 5. You’ll learn how to create different components of your application as you progress through each chapter, followed by exploring different tools in these frameworks to expedite your development cycle. By the end of this book, you’ll have gained a complete understanding of the key design patterns and best practices that underpin professional full-stack web development.
Table of Contents (23 chapters)
Title Page
Copyright and Credits
Dedication
About Packt
Contributors
Preface
Index

Chapter 6. Code Design - Designing for Stability and Extensibility

Code design, or software design, is often thought of as a disjoint step in the development process of an application. A set of UML diagrams is the most common way to document designs. However, they will quickly become obsolete once the code has been written. There are differences between the implementation and the design, and those differences are not synced back to the design documents. The effort of keeping design documents up-to-date is considerable because there are always changes in the requirements. It feels like a battle that we keep losing.

So, should we do code design? Is it really necessary? Because we have the data models now, why don't we just start writing the code and get features implemented? We can refactor our code later, anyway. This sounds more Agile.

There is an old saying in China, Grinding a chopper will not delay the work of cutting firewood. Doing code design is like grinding a chopper where cutting...