mdl

ABOUT MDL 2.0

WHY MDL?

To draw the whole team, collaboratively draw the structure and behavior of an application on a paper or whiteboard so that everyone involved (users, developers, infrastructure analysts, etc.) can understand, use it as official documentation from the project. The simplicity of the diagram allows you to make a new design to replace the old one instead of tweaking it.

COMPONENTS MDL 2.0

Currently MDL has 7 components. They are:

EXAMPLES

exemplo arch school

The diagram above represents, at a high level of abstraction, a solution composed of two APIs, one of which lists, records and changes student grades while the other has the purpose of consultation only. The drawing also represents the data layer involved in the solution.

NEWS IN VERSION 2.0

WHAT HAS CHANGED? What ceased to exist

  • Behavioral and structural contexts: Now we only have a single context, so everything can be represented in it.
  • Micro Batches: This element was rarely used, especially when talking about microservices. So, to avoid differences between microservices, APIs or any other type of core, everything was synthesized in a single element.
  • Layer e Tier: There will no longer be the differentiation between Tier's and Layer's, which have also been synthesized into a single element.

WHAT WAS CHANGED?

  • The way to represent layers: Now we can use the Part to represent the layers (Tiers and Layers), in addition to being able to be used to compose any element. This allows for greater ease and flexibility.
  • The way to represent the frontend: frontend The change was made not to confuse Part and Frontend, being chosen a common component in practically all diagram editors, so that the change will not generate any burden.
  • Connectors: Connectors have been kept, but can now be used on ALL elements, including Parts. There is also a greater incentive to use more text in connectors so that they are better "interpretable". Less need for "turn" connectors, as long as the understanding of the drawing is clear.
  • Possibility of use of images and icons for component design.
  • Using "[" and "]" between conditions and logical expressions that is, how the link between 2 elements occurs.
  • All in a single view: Purpose of enabling an evolutionary design. Diagrams can be born functional and be evolved, continued to be more comprehensive and cover the structure. All elements can use a "#"+ text or "<<"+text+">>" to indicate what the element is. For example: a system, a data instance, a table, a technology, etc.

WILL COMPLEXITY INCREASE?

A question that always comes up when we talk about changes. Will complexity increase? No, actually there will be fewer elements and the MDL will only have a single context, and no longer a behavioral context and a structural context. Therefore, the MDL will be further simplified.

HAVE THE POSSIBILITIES BEEN EXPANDED OR REDUCED?

Another point that can generate concern is the design possibilities, if we will have more restrictions with the new version. We can say that the possibilities will be expanded, the MDL has become simpler and more powerful, making it possible to use it in more ways than the previous version. Furthermore, the MDL has not lost its minimalist essence, it still has few elements and few connectors, and with the same flexibility.