A team of people interested in NAV application design has come together to work on naming and surfacing design solutions to common NAV business needs. When those solutions are generic enough to be applied in various places of the NAV application, with slight variations on implementation but mainly respecting the same base concepts, we can describe them as NAV design patterns.

Some benefits as we saw them:

  • have a common language
  • understand and explain the concepts behind the inner workings of NAV
  • enhance productivity (as developers don't have to re-invent the wheel )
  • promote best practices
  • become aware of areas of NAV implementations which can be improved, and why.

Note: it is not our goal to create generic, product and language-independent software development design patterns, as described by the Gang of Four and other authors over the time. Although the idea of a NAV design pattern remains closely related to the generic concept, our hope is to give a name and show to the world only the NAV specific patterns, which are particular to the C/AL language and to the NAV business models and scenarios.

Some of the patterns describe what is old and already used several places in the NAV application code. Some other patterns will be future oriented trying to push the NAV development style towards new and better practices.

So far, the core of this team is half-community (special thanks to the Partner-Ready Software team) and half-Microsoft software engineers.

Eric Wauters

iFacto, PRS

Gary Winter

agiles, PRS

Mark Brummel

Brummel Dynamics Services, PRS

Claus Lundstrøm

Abakion

Karolak, Natalie

Tectura

Abshishek Ghosh

Microsoft

Anders Larsen

Microsoft

Bardur Knudsen

Microsoft

Bogdan Sturzoiu

Microsoft

Bogdana Botez

Microsoft

Elly Nkya

Microsoft

What to expect next?

So far we've been meeting to work on identifying and documenting new design patterns - as well as trying to better define the concept of a design pattern in a NAV context. As we go on, we will come closer to understanding what is the correct way to go. Until then, we're focusing on making new patterns available to the NAV developers (on our blogs, at conferences like 2013 Directions US and EMEA and NAVTechDays). The team is open - if you want to add your patterns to the collection, to receive our review or contribute, contact us. Your ideas, especially on what can be improved as well as your expectations are very valued - let us know (either by replying to the blog post, or by writing to us.

Our latest workshop on August 26th and 27th at Microsoft Development Center Copenhagen:

Note: we plan to publish patterns on a "best effort" basis - meaning that there will be no pre-established cadence, but we will focus on keeping the continuity and adding new patterns. To reflect this, we'll drop the "pattern of the week" title.

Best regards,

The NAV Patterns Team