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

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.

主站蜘蛛池模板: 瑞昌市| 丰镇市| 龙游县| 泗水县| 平顺县| 府谷县| 乐陵市| 和顺县| 卫辉市| 洛隆县| 临颍县| 都安| 阿拉善右旗| 延津县| 门头沟区| 漯河市| 綦江县| 二连浩特市| 榆中县| 抚宁县| 新巴尔虎左旗| 钦州市| 崇信县| 中卫市| 南和县| 鲜城| 板桥市| 孙吴县| 泸西县| 金塔县| 博爱县| 陈巴尔虎旗| 垫江县| 吴川市| 襄垣县| 贞丰县| 灵宝市| 内丘县| 开平市| 顺平县| 宁国市|