Trusted answers to developer questions
Trusted Answers to Developer Questions

Related Tags

component
module

What is the component design?

Aeman Akram

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Answers Code

Component design

Component design is a type of software design and architecture. The component-based architecture focuses on breaking the software design into small individual modules. The component design describes communication, interfaces, algorithms, and the functionalities of each component regarding the whole software design.

Benefits of component design

The component design has the following benefits:

  • The major benefit of using the Component design is that it makes every module reusable.
  • It also reduces the cost as every module is reusable.
  • It is more reliable as the client gets its interaction with the system with each module, so it increases the reliability of the entire system.
  • The component design makes the system easy to maintain as we don't need to make changes in the entire system.
  • The component design describes each component's functionality more clearly.

Component design view

Component-level design is classified into three views.

  • Object-Oriented View
  • Conventional View
  • Process-Related View

Object-oriented view

In Object-Oriented View, the modules consist of a set of classes or objects with some common properties and functionalities and how classes in each module are connected.

Conventional view

In the conventional view, the module acts like a functional part of the software which means it is responsible for processing all logical and internal operations according to their designated task. The conventional view module also plays a vital role in calling and coordinating the request of other modules.

Process-related view

The process-related view uses pre-existed modules for the creation of new modules. Databases and libraries are used to store pre-existed modules. The process-related view majorly focuses on the reusability feature of the component design.

Example

In our example, we'll consider a component diagram of an online shopping system:

  • It will have a Customer, Customer Account, Product, and Order.
  • Every object is an individual component but is related to each other at the same time
  • The customer will go on the online site and search the product.
  • By selecting any specific product, the customer will place an order.
  • After the order is placed, the system will store the customer and his account information in the Order Database.
  • The order would be generated against the customer and stored in the Database.
  • Every module has its own task but is interlinked with each other to complete the requirements of the software.
The component design of an online shopping system

RELATED TAGS

component
module

CONTRIBUTOR

Aeman Akram
Copyright ©2022 Educative, Inc. All rights reserved

Grokking Modern System Design Interview for Engineers & Managers

Ace your System Design Interview and take your career to the next level. Learn to handle the design of applications like Netflix, Quora, Facebook, Uber, and many more in a 45-min interview. Learn the RESHADED framework for architecting web-scale applications by determining requirements, constraints, and assumptions before diving into a step-by-step design process.

Answers Code
Keep Exploring