Design Patterns
for IoT
Chapter
3
Design Patterns are an effective way of solving
common repetitive problems in various
domains. If we want to understand this better,
let’s take a very common “Road Traffic” problem
faced by all the countries in the world. As you
know, every country is very diverse in terms of
political and environmental scenarios. So find-
ing a common solution would be very tricky.
However, we could think of a solution, which is
applicable to small or negligible changes. That’s
the aim of creating a design pattern. Now, what
could be the solution? There are three design
patterns we see every day, traffic lights, stop sign
and roundabout. All these three design patterns
solve or help to control traffic. Although, they
have their own advantages, disadvantages, and
use cases based on contextual factors. As you
can see, design patterns help in building end-to-
end solutions, which can be used to architect the
desired system. Please do not misunderstand the
design pattern as a complete solution. You can
consider a design pattern as a template to build a
concrete solution for your specific purpose.
Working with design patterns for IoT
(internet of things) applications is a lot more
different than the traditional software appli-
cations. Devices in the IoT ecosystem can use
separate networks to establish connections,
which is quite opposed to the conventional
software architectures. Design patterns in IoT
differ in terms of their abstraction and level of
detail. Thus, to create user-friendly and robust
IoT applications, it is necessary to consider IoT
design patterns for several layers.
The procedures for configuration manage-
ment, deployment, and automated provisioning
pertaining to the IoT edge applications, which
are explained in this chapter, are associated with
the design patterns for governance.
The idea to configure systems and connect
devices is quite complex. IoT design patterns
address concerns related to the management of
edge applications from initialization to deploy-
ment. To create IoT-based applications, consider
the following design patterns to generate the best
possible results.
After completing this chapter, you will be able to:
• Understand various design patterns of IoT
• Understand the difference between traditional and IoT design patterns
• Learn challenges for selecting a specific design patterns
• Learn strategies to overcome challenges to implement chosen design
patterns, and
• Tools needed to implement design patterns.
LEARNING OBJECTIVES
Internet_of_Things_CH03_pp055-080.indd 55 9/3/2019 10:13:06 AM
Get Internet of Things now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.