Browse Definitions :
Definition

VIPER (View, Interactor, Presenter, Entity and Router)

VIPER (View, Interactor, Presenter, Entity and Router) is a design pattern for software development that develops modular code based on clean design architecture. The modules in VIPER are protocol-oriented and each function, property input and output is performed by way of specific sets of communication rules.

VIPER is often used to develop smartphone apps and is heavily used in iOS along with Swift, Apple’s programming language. VIPER is based on SOLID design principles, specifically the single responsibility principle.

The words represented in the VIPER acronym note the types of modules in the design pattern:

  • View (also known as the view controller): Both displays information for the user and detects user interaction. The Presenter is the only module the View module has contact with.
  • Interactor: Manipulates entities or models and fetches and stores data.
  • Presenter: Contains the user interface and prepares data for presentation. The Presenter contacts the Interactor for data requests, the View to present prepared data to the user and the Router in order to hand off objects.
  • Entity: The data models that are manipulated by the Interactor.
  • Router (also known as wireframe): Handles navigation in the module or application. It creates the View and wires the Presenter to act as output to the Interactor. Contacts the Presenter in order to route requests.
VIPER

The abstraction of code into the layers of entities, program logic and devices and external interfaces is a commonality seen in VIPER and in clean design architectures in general.

This was last updated in January 2019

Continue Reading About VIPER (View, Interactor, Presenter, Entity and Router)

Networking
  • firewall as a service (FWaaS)

    Firewall as a service (FWaaS), also known as a cloud firewall, is a service that provides cloud-based network traffic analysis ...

  • private 5G

    Private 5G is a wireless network technology that delivers 5G cellular connectivity for private network use cases.

  • NFVi (network functions virtualization infrastructure)

    NFVi (network functions virtualization infrastructure) encompasses all of the networking hardware and software needed to support ...

Security
  • computer forensics (cyber forensics)

    Computer forensics is the application of investigation and analysis techniques to gather and preserve evidence from a particular ...

  • cybersecurity

    Cybersecurity is the practice of protecting internet-connected systems such as hardware, software and data from cyberthreats.

  • Advanced Encryption Standard (AES)

    The Advanced Encryption Standard (AES) is a symmetric block cipher chosen by the U.S. government to protect classified ...

CIO
HRSoftware
  • OKRs (Objectives and Key Results)

    OKRs (Objectives and Key Results) encourage companies to set, communicate and monitor organizational goals and results in an ...

  • cognitive diversity

    Cognitive diversity is the inclusion of people who have different styles of problem-solving and can offer unique perspectives ...

  • reference checking software

    Reference checking software is programming that automates the process of contacting and questioning the references of job ...

Customer Experience
  • martech (marketing technology)

    Martech (marketing technology) refers to the integration of software tools, platforms, and applications designed to streamline ...

  • transactional marketing

    Transactional marketing is a business strategy that focuses on single, point-of-sale transactions.

  • customer profiling

    Customer profiling is the detailed and systematic process of constructing a clear portrait of a company's ideal customer by ...

Close