Definition

The Translator Component is the mediator between Model and View in UI architectural patterns. It handles the interaction logic and data transformation between the two layers.

flowchart LR
    subgraph View
        V[View]
    end
    subgraph Translator
        T[Translator Component]
    end
    subgraph Model
        M[Model]
    end
    
    V <-->|events + UI data| T
    T <-->|business data| M

Responsibilities

  • Mediation: Coordinates between Model and View
  • Transformation: Converts Model data for View display
  • Input Handling: Processes user input from View
  • State Management: Manages UI state (in some patterns)

Translator Types by Pattern

PatternTranslator NamePrimary Role
MVCControllerHandles input, updates Model
MVPPresenterHandles UI logic, formats data
MVVMViewModelExposes state, data binding
MVVM-CViewModel + CoordinatorState + navigation
VIPERPresenter + Interactor + RouterSeparated concerns

Key Characteristics

  • No Direct View-Model Communication: Translator ensures View and Model never interact directly
  • Testability: Translator can be tested without UI
  • Single Responsibility: Each translator type has distinct responsibilities

Evolution

Evolution of Translator Components

Translators evolved from simple Controllers (MVC) to more specialized components:

  • Controller: Input-focused
  • Presenter: View-focused (formats everything for View)
  • ViewModel: Binding-focused (exposes observable state)
  • Interactor: Business-logic-focused (VIPER)