Toronto Master Class Application Architecture & Design Patterns
On March 23 and 24, the first Master Class for Microsoft Dynamics NAV Application Architecture and Design Patterns was held in Toronto.
Thirteen students attended. This what they had to say:
“I think this should be a mandatory class… developers who have the knowledge of design patterns and common coding practices inherently develop stronger, cleaner code.” ~ Michael Hollinger, Harbor Wholesale Foods
“An awesome course that covers the best practices of NAV development and application architecture.” ~ Sukeev Kailayapathy, Second Foundation
The workshop will be scheduled twice per year in Toronto (or on demand if enough students register). Your teacher will be Floyd Chan.
Toronto – Class of 2014
The workshop is scheduled for the following locations this year.
May: The Netherlands | Luc van Vugt, Mark Brummel
May: Belgium | Steven Renders, Mark Brummel
June: Iceland | Gunnar Gestsson, Mark Brummel
June: Japan | (Closed Partner Training)
June: Romania | (Closed Partner Training)
October: United States | (NAVUG, Reno)Mark Brummel
October: Online NAVUG Academy | Mike Doster
November: Online NAVUG Academy | Mike Doster
Master Class – Application Architecture & Design Patterns
During the workshop, we will reveal all the secrets that are hidden in the Dynamics NAV Source Code. You will get answers to questions like…
- How is Dynamics NAV Architected and how do the modules communicate
- What are Design Patterns and Anti Patterns and how do they apply to Dynamics NAV
- How can I avoid conflicts during my object merge
- What impact do monthly rollups have to my roadmap and release strategy
- Can the new Delta Files help me get more organized
- Why does Dynamics NAV have so much Code Cloning
- Are the coding standard documented and how can apply them
- Can I implement Object Oriented concepts such as MVVM, overloading and reflection
- How do I organize my object structure
- Best Practices such as Encapsulation and Natural Language Programming
- Be familiar with over 30 most used Design Patterns in Dynamics NAV
- What does a perfect UI look like to be repeatable in the cloud
- Understand the impact of Meta Data on Software Design
- What is the difference between Reservation Entries, G/L Entries and Interaction Log Entries
Course Outline
The course has four, iterative blocks that explain the elements for good software architecture using Design Patterns – Repeatable User Interface, Coding Guidelines, Architectural Principles and Exercises.
Introduction
- Introduction to Application Architecture
- Rollup update & Upgrade Strategies
- Design Patterns & Anti Patterns
- Meta Data Driven Software Development
Object Architecture
- Define Object Hierarchy
- Enhance the use of the Symbol Menu
- Interfaces
- Function Libraries
- Natural Language Programming
- Encapsulation
- Arguments & Overloading
- Façade & Hooks
Coding Guidelines
- Design
- Internationalization
- Localizability
- Readability
- Data Dictionary
- Hungarian Notation
- User Interface
Design Patterns
- Singleton, Multi Level Setup & Rules Pattern
- Master Data, Entity State & Compound
- Documents, Copy, Posting & Archiving
- Test Near, Test Far, Do It, Clean Up
Code Cloning
- Fundamentals
- Transaction Mirroring
- Forking, Templating, Customize & Exact Match
Modern UI for Repeatable Software
- Instructions in the User Interface
- Transaction Data Update
- Hiding Fields & Fast tabs
- Totals on Sub Pages
- Create Data from Templates
Model View View Model
- Working with Temporary Tables
- MVVM Pages
- Reports based on data in memory
- Query data on Pages