Programming language capabilities
The ability to apply Design Patterns is largely managed by the capabilities that a programming language has. Since Microsoft Dynamics NAV is not object oriented, we have a restricted subset of the traditional OOP patterns. We also have a set of Patterns that is either related to procedural programming, or the metadata definitions as described in Chapter 1, Introduction to Patterns and Software Architecture.
Tip
All the C/AL code that we write in Microsoft Dynamics NAV is converted to C# code before generating a managed code. The managed code is generated at runtime by the service tier. The C# code is maintained in a system table. This code should never be changed or used.
Whenever Microsoft changes the capabilities of our programming language, the design patterns change. This can essentially lead to the introduction of new patterns, or even anti-patterns and boat anchors. With every release of Dynamics NAV, Microsoft adds features to our programming...