Akshat Dubey

Rupali Roy Choudhury

Suranjana Sengupta

Anand Sundaram

NUSMODS

Text

Application Architecture

Presentation Layer

Application Layer

Business Logic

Data Access

  • User Interface Architecture
  • Separation of Concerns

Model

Presenter

View

Model

Presenter

View

Module

ModulePresenter

ModulesView

ModuleItemView

ModulesListingView

Demo: Creating a timetable

Activity Diagram: Creating a timetable

Mediator Pattern

Uses Backbone.js and Marionette

Lot of components interacting with each other

High coupling

Solution?

Mediator Pattern

 

"An object that encapsulates how a set of objects interact"

Mediator Pattern

  • No direct communication, only through Mediator Object
  • Reduced Dependencies
  • Lower Coupling

ModuleSearch

TimeTable

ModuleList

Mediator

(listens for events)

Register

Calls

functions

addModule

removeModule

displayLesson

Make

changes

A Similar App

Thank You!

References

  1. NUSMods on GitHub: https://github.com/nusmodifications/nusmods/
  2. BackboneJS: http://backbonejs.org/
  3. MarionetteJS: http://marionettejs.com/
  4. Mediator Pattern In Marionette:                 http://www.slideshare.net/matt-briggs/marionette-structure-with-modules
  5. Model-View-Presenter:                         https://en.wikipedia.org/wiki/Model–view–presenter

Copy of Copy of Copy of CS3219 Seminar

By Rupali Valkov RC

Copy of Copy of Copy of CS3219 Seminar

  • 592