MGMLaboratory
Back

Menu

01Home
02About Us
03Projects
04Publications
05Member
06Articles
07Contact

Let's Talk

Open in Mail app

Socials

Malang (ID) --:--Privacy PolicyTerms of Service

June 22, 20171 min read

When the Standard Design Pattern Stops FittingWhen the Standard Design Pattern Stops Fitting

MVC assumes one application and one set of users. A framework design study shows what to add when neither holds.

  • Journal
  • Publications

Written by

  • SRShirasaka RenIT & Infrastructure · Student Member

In this article

  1. 01Where the standard pattern runs out
  2. 02What the team changed

There is a moment in every framework project when the team realises the standard pattern does not cover what the business actually does. The instinct is to start over. A study from Universitas Brawijaya argues for a smaller move.

Their starting point is ordinary. Web applications are the practical answer when units inside an organisation keep changing how they work. Information systems sit at the centre of that, supporting processes that shift as the organisation does.

01/02

Where the standard pattern runs out

Model-View-Controller is popular for good reasons. Splitting an application into model, view and controller makes the parts reusable and maintainable, and it keeps a change in one place from rippling into the others.

Processes cross desks, and so must software. Image: Tyne and Wear Archives and Museums, no known restrictions.
Fig. 01Processes cross desks, and so must software. Image: Tyne and Wear Archives and Museums, no known restrictions.

Two things are missing. One is business process choreography, the coordination of steps that span more than one system. The other is integration between applications. Neither is a display problem, so neither belongs neatly in the view or the controller.

02/02

What the team changed

  • Add a role rather than remove one. The CollectionService carries inter-application data exchange, a job MVC never assigned to anyone.
  • Split responsibility in the controller. A Presenter absorbs part of the work so the controller is not doing two jobs at once.
  • Keep the known parts recognisable. Developers who already understand MVC should be able to read the new pattern without starting from zero.
One foundation, several applications sharing it. Credit: NOIRLab/NSF/AURA/T. Slovinsky, CC BY 4.0.
Fig. 02One foundation, several applications sharing it. Credit: NOIRLab/NSF/AURA/T. Slovinsky, CC BY 4.0.

The wider lesson is about how to touch a design pattern at all. Changing how objects of a class interact is exactly the kind of edit that breaks assumptions across a codebase, so the team's proposed pattern is a derivation, not a rewrite.

Source

  1. Aryo Pinandito, Ferdika Bagus Pristiawan Permana and Rizal Setya Perdana (2017). Framework Design for Modular Web-based Application Using Model-CollectionService-Controller-Presenter (MCCP) Pattern. Journal of Information Technology and Computer Science, 2(1), 41-65.

    DOI10.25126/jitecs.20172120 (opens in a new tab)

Next articleNaive Bayes Beats Nearest Neighbour on Short Messy Text(Keep scrolling)(Read it next)(Loading)