Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/bigfanjs/mvpjsapp

Manually implementing MVP design pattern in JavaScript.
https://github.com/bigfanjs/mvpjsapp

Last synced: 4 days ago
JSON representation

Manually implementing MVP design pattern in JavaScript.

Awesome Lists containing this project

README

        

# Manually implementing MVP design pattern in JavaScript.

In this repository I've built a web application on top of an application-level structure using the MVP design pattern.

Here is the communication flow I used in my application:
![Alt text](/client/images/mvp.png?raw=true "MVP")

## Advantages:
- your code would be more modulare.
- it's less painfull to debug.
- it's more testable(very easy to mock the view).
- the view is much more decoupled than the presenter.

## Usage

const
model = Model.setup({
author: 'Adel',
title: 'Adel\'s blog',
url: 'http://adelsblogs.com'
}),
presenter = Presenter.setup({ model });

### Testing The View.

const
mock = {
set() { return ''; },
get() { return ''; }
},
presenter = Presenter.setup({
view: mock
});