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)

SearchNetworking
SearchSecurity
  • man in the browser (MitB)

    Man in the browser (MitB) is a security attack where the perpetrator installs a Trojan horse on the victim's computer that is ...

  • Patch Tuesday

    Patch Tuesday is the unofficial name of Microsoft's monthly scheduled release of security fixes for the Windows operating system ...

  • parameter tampering

    Parameter tampering is a type of web-based cyber attack in which certain parameters in a URL are changed without a user's ...

SearchCIO
  • e-business (electronic business)

    E-business (electronic business) is the conduct of business processes on the internet.

  • business resilience

    Business resilience is the ability an organization has to quickly adapt to disruptions while maintaining continuous business ...

  • chief procurement officer (CPO)

    The chief procurement officer, or CPO, leads an organization's procurement department and oversees the acquisitions of goods and ...

SearchHRSoftware
SearchCustomerExperience
  • first call resolution (FCR)

    First call resolution (FCR) is when customer service agents properly address a customer's needs the first time they call.

  • customer intelligence (CI)

    Customer intelligence (CI) is the process of collecting and analyzing detailed customer data from internal and external sources ...

  • clickstream data (clickstream analytics)

    Clickstream data and clickstream analytics are the processes involved in collecting, analyzing and reporting aggregate data about...

Close