官术网_书友最值得收藏!

Design patterns

With a good understanding of serverless computing behind us, let's turn our attention to design patterns.

If you've spent any amount of time working with software, you will have heard the term design pattern and may very well be familiar with them to some degree. Stepping back slightly, let's discuss what a design pattern is.

I will assert that if you ask 10 different developers to define the term design pattern, you will get 10 different answers. While we all may have our definition, and while those definitions may not be wrong, it's relatively simple to agree on the general spirit or idea of a software design pattern. Within the context of software engineering, design patterns are reusable solutions or code organization applied to a frequently occurring problem. For example, the Model-View-Controller pattern evolved to solve the problem of GUI applications. The Model-View-Controller pattern can be implemented in almost any language for nearly any GUI application.

Software design patterns evolved as a solution to help software authors be more efficient by applying well-known and proven templates to their application code. Likewise, architectural patterns provide the same benefits but at the level of the overall system design, rather than at the code level.

In this book, we won't be focusing on software design, but rather architectural design in serverless systems. In that vein, it's worth noting that the context of this book is serverless architectures and our patterns will manifest themselves as reusable solutions that you can use to organize your functions and other computing resources to solve various types of problem on your serverless platform of choice.

Of course, there is an infinite number of ways to organize your application code and hundreds of software and architectural patterns you can use. The primary focus here is the general organization or grouping of your functions, how they interact with one another, the roles and responsibilities of each function, and how they operate in isolation but work together to compose a larger and more complex system.

As serverless systems gain traction and become more and more popular, I would expect serverless patterns such as those we will discuss in this book to grow in both popularity and number.

主站蜘蛛池模板: 兴国县| 滨海县| 西贡区| 噶尔县| 银川市| 开原市| 禹州市| 梓潼县| 万全县| 宝清县| 武鸣县| 石泉县| 出国| 建德市| 厦门市| 吉水县| 邵武市| 阜阳市| 邳州市| 易门县| 府谷县| 岚皋县| 韩城市| 鲁甸县| 开封县| 江山市| 五原县| 乌鲁木齐市| 嘉定区| 元朗区| 乐山市| 会昌县| 吉隆县| 漳州市| 鹤壁市| 夏河县| 安阳县| 油尖旺区| 陇川县| 富阳市| 开江县|