Learning Dynamics NAV Patterns

 
 
Packt Publishing Limited
  • 1. Auflage
  • |
  • erschienen am 24. September 2015
  • |
  • 214 Seiten
 
E-Book | ePUB mit Adobe DRM | Systemvoraussetzungen
978-1-78355-256-6 (ISBN)
 
Create solutions that are easy to maintain, quick to upgrade, and follow proven concepts and designsAbout This BookDesign software that is maintainable outside the ecosystem of their creatorsEnsure quality by following patterns that have been proved to workOver two dozen practical Architectural and Design patternsWho This Book Is ForLearning Dynamics NAV Patterns is intended for developers, architects, (technical) consultants, and application managers. You may have very little or no knowledge about NAV patterns, but you should be acquainted with programming.What You Will LearnApply object-oriented practices to C/AL programmingStructure your application to avoid merge conflictsRefactor legacy code and avoid anti-patternsDesign decision trees to decide when to use which patternsClone codes and their application in Dynamics NAVMake your application extensible by creating predefined hooks and facadesIn DetailMicrosoft Dynamics NAV is a complete ERP system, which also contains a robust set of development tools to support customization and enhancement. These include an object designer for each of the seven application object types, a business application oriented programming language with .NET interface capability, a compiler, a debugger, and programming testing language support.Learning Dynamics NAV Patterns will guide you through the NAV way of solving problems. This book will first introduce you to patterns and the software architecture of the NAV and then help you to build an example application. Then, it walks you through the details of architectural patterns, design patterns, and implementation patterns. This book will also talk about anti-patterns and handling legacy code. Finally, it teaches you to build solutions using patterns.Proven patterns and best practices will help you create better solutions that are easy to maintain in larger teams across several locations. It will guide you through combining abstract patterns using easy-to-understand examples and will help you decide which patterns to use in which scenarios.Style and approachThis book explains the concepts of patterns, code structuring, and object-oriented concepts in a way that is easy to understand for Dynamics NAV specialists through practical examples.
  • Englisch
  • Birmingham
  • |
  • Großbritannien
978-1-78355-256-6 (9781783552566)
1783552565 (1783552565)
weitere Ausgaben werden ermittelt
Mark Brummel is a freelance all-round Microsoft Dynamics NAV specialist, focused on helping end users of the product.
With http://nav-skills.com/, he evangelizes and documents the 'NAV way'. This is a combination of architectural principles and design best practices, formalized in a workshop called Master Class for Microsoft Dynamics NAV Application Architecture and Design Patterns. The methodology helps in creating solutions that are easy to upgrade, recognizable for users, and maintainable outside the ecosystem of their creators. All three elements apply to the original Navision product that was shipped in 1995, and was extracted, updated, and documented in this methodology. In September 2015, Packt Publishing published his new book, Learning Dynamics NAV Patterns, which is about this methodology. He also organizes hands-on workshops together with a group of MVPs and MCTs from across the globe.
Mark started in 1997 as an end user, and worked for 8 years for the NAV partners after this. Designing and maintaining add-on systems was his specialization. Some of these add-on systems exceed the standard product, when it comes to size and complexity. Coaching colleagues and troubleshooting complex problems is his passion and part of his day-to-day work. His first book, Dynamics NAV 2009 Application Design, was published in 2010 by Packt Publishing, and updated to Dynamics NAV 2013 Application Design, published by Packt Publishing, when a new release became available.
Many end users of Microsoft Dynamics NAV struggle with the question of how to upgrade their two-tier solution to a three-tier solution. Mark can help you answer these questions and plot a roadmap to the future, retaining the investment in the solution.
When Microsoft introduced the three-tier architecture in 2009, it meant a major shift for experienced NAV developers and consultants. Mark has trained most of those that live in the Netherlands and Belgium.
In 2010, he started a think tank called Partner Ready Software together with four other Dynamics NAV experts. Partner Ready Software brings fresh ideas about designing applications in NAV, and creates awareness of applying Design Patterns in creating repeatable solutions.
Mark is an associate in the Liberty Grove Software network, a member of the NAVUG advisory board, the co-founder of the Dutch Dynamics Community, the vice-president of the Association of Dynamics Professionals, and an advisor to Dynamics HUB.
Mark has undertaken a special project and performance tuning of the Dynamics NAV product on SQL Server. As a unique specialist, he has done breakthrough research into improving the performance of Dynamics NAV on the SQL Server.
On http://nav-skills.com/, Mark maintains a blog. This blog contains a wide range of articles about both the Microsoft Dynamics NAV and the SQL Server product. He is also a frequent speaker at Microsoft events, and publishes articles on Pulse for LinkedIn.
Since 2006, Mark has been rewarded by Microsoft with the Most Valuable Professional award for his contribution to the online and offline communities. He has received this award ten times.
Mark is married and a father of four, and lives in a small town in The Netherlands.
  • Cover
  • Copyright
  • Credits
  • Foreword
  • About the Author
  • Acknowledgement
  • About the Reviewers
  • www.PacktPub.com
  • Preface
  • Chapter 1: Introducing Dynamics NAV Patterns and Software Architecture
  • What do we mean by 'patterns'?
  • Software Design Patterns
  • The Procedural software design patterns
  • Microsoft Dynamics NAV Design Patterns
  • The object-oriented patterns
  • Non-object-oriented patterns
  • The functional oriented patterns
  • Patterns elements and hierarchy
  • Architectural patterns
  • Design patterns
  • Structuring code
  • The coding standards
  • Anti-patterns
  • Code cloning
  • Legacy code
  • Upgradability
  • The upgrade frequency
  • Design patterns and upgrades
  • Delta files
  • Repeatability
  • Design patterns and repeatability
  • Lifecycle of a design pattern
  • Technology changes
  • Old habits die hard
  • New design patterns
  • Software architecture in Microsoft Dynamics NAV
  • Metadata
  • Building blocks
  • Table
  • Page
  • Report
  • Codeunit
  • Query
  • XMLPort
  • MenuSuite
  • Metadata
  • Flowfields
  • Flowfilters
  • Base application
  • Functional processes
  • Summary
  • Chapter 2: Architectural Patterns
  • The Singleton Pattern
  • Technical description
  • Company-Initialize
  • Implementations
  • Examples
  • Enhancements
  • The Supplemental and Subsidiary Pattern
  • Technical description
  • Implementations
  • Examples
  • The Compound Pattern
  • Technical description
  • Implementation
  • Examples
  • The Rules Pattern
  • Technical description
  • Implementations
  • Examples
  • The Master Data Pattern
  • Technical description
  • Implementations
  • Examples
  • The Journal Template-Batch-Line Pattern
  • Technical description
  • The Journal Template table
  • The Journal Batch table
  • The Journal Line table
  • Codeunits
  • Implementations
  • Hierarchy
  • Journals as contracts
  • Examples
  • The Entry Pattern
  • Technical description
  • The Entry Table types
  • Historical Entries
  • Temporary entries
  • Entries that can be deleted
  • Temporary tracking buckets
  • Implementations
  • Examples
  • Document Pattern
  • Technical description
  • The Header table
  • The Line table
  • Posting and archiving
  • Implementations
  • Examples
  • The Argument table
  • Technical description
  • Implementations
  • Summary
  • Chapter 3: Design Patterns
  • The Entity State Pattern
  • Technical description
  • Setting the State
  • Testing the State
  • Implementations
  • Examples
  • The Select Pattern
  • Technical description
  • Implementations
  • Examples
  • The Number Series Pattern
  • Technical description
  • The Table reference field
  • Setup reference
  • C/AL functions and variables
  • Implementations
  • Examples
  • Address Integration Pattern
  • Technical description
  • Fields
  • Copying the address
  • Printing addresses
  • Implementations
  • Examples
  • Multi-Level Setup
  • Technical description
  • Implementations
  • Examples
  • Document History
  • Technical description
  • The Naming conventions
  • Codeunit Structure
  • Test Near, Test Far
  • Do it
  • Clean up
  • Example
  • TRANSFERFIELDS
  • Implementations
  • Examples
  • Copy Document Pattern
  • Technical description
  • Validation logic
  • Implementations
  • Examples
  • Job Queue Entry Pattern
  • Technical description
  • Preprocessing
  • Getting records
  • The Main function
  • Post-processing
  • Error handling
  • Implementations
  • Examples
  • Dismissible dialogs and save preferences
  • Technical description
  • Dismissible dialog
  • Implementations
  • Examples
  • Setup Update Pattern
  • Technical description
  • Restrictions
  • Implementations
  • Example
  • Model-View ViewModel Pattern
  • Technical description
  • Implementations
  • Examples
  • Summary
  • Chapter 4: Building an Example Application Using Patterns
  • The design elements
  • The Pattern dependencies
  • Step one - foundation
  • Example setup
  • Which Patterns to use
  • The implementation
  • The Multi-Level Setup Pattern
  • Step two - Master Data
  • Example Person
  • The Example Product
  • Number Series
  • Adding Setup fields
  • Adding variables
  • Adding the No. Series field
  • Code snippets
  • Entity State
  • Implementing the Address Integration Pattern
  • Step three - Journals & Entries
  • Creating your own Journal and Entry
  • Validation in Journals
  • Step four - Documents
  • Implementing a Document
  • Document history
  • Selecting a Pattern
  • Other Patterns
  • Posting
  • The ThrowErrorIfNoSelection funtion
  • The TestNear function
  • The TestFar function
  • The PostExampleOne/PostExampleTwo function
  • The PostExJnlLine function
  • The DeleteExampeDocument function
  • The layered model
  • Summary
  • Chapter 5: Coding Best Practices
  • Coding guidelines
  • Code design
  • Variable capacity
  • The Cyclomatic Complexity
  • The function size
  • Using complex data types
  • Localizability
  • Date formulas
  • Code Readability
  • Variable naming
  • Self-explaining
  • Suffix versus prefix
  • Approved abbreviations
  • Class-Method-Property
  • The Table as a class
  • A Codeunit as a method
  • Function libraries and interfaces
  • Natural Language Programming
  • Pitfalls
  • Bonus - debugging
  • Encapsulation
  • Override Functions
  • Façade
  • Hooks
  • Disabling the original source code
  • Predefined hooks
  • Variant variables
  • Managing DLL
  • Summary
  • Chapter 6: Anti-patterns and Handling Legacy Code
  • Anti-patterns
  • Code cloning
  • Forking
  • Templating
  • Customizing
  • Exact match
  • Examples
  • Transaction mirroring
  • Code normalization and writing clean code
  • The Document type normalization
  • The small business application
  • The VAT and Sales Tax calculation
  • Avoiding code cloning
  • Boat anchors
  • Other anti-patterns and context
  • Programming language capabilities
  • Legacy code
  • Refactoring the C/AL Code
  • Refactoring tables
  • Renaming
  • Normalization
  • Code refactoring
  • Finding the process owner
  • Moving to Codeunit
  • Breaking down the code into functions
  • Encapsulating functions
  • Normalizing the code
  • The boy scout rule
  • Summary
  • Chapter 7: Build Solutions using Patterns
  • Building blocks
  • Applying Architectural Patterns
  • The application setup
  • Guests
  • Room
  • Season
  • Price
  • Reservation
  • Stay
  • Check-in
  • Check-out
  • Clean
  • Evaluation
  • Invoice
  • Creating the Table objects
  • Applying design Patterns
  • The Bed and Breakfast setup
  • Bed and Breakfast season
  • Bed and Breakfast room
  • Bed and Breakfast price
  • Bed and Breakfast clean entry
  • Bed and Breakfast stay
  • Bed and Breakfast journal and entry
  • The Bed and Breakfast evaluation header and evaluation line
  • Defining the methods
  • Writing the Code and Link methods
  • Creating the cleaning entries
  • Refactoring
  • The new class members
  • The new function library
  • Room members
  • The room price calculation
  • Testing the application
  • Test isolation
  • Analyzing the results
  • Upgrading the application
  • Creating a Delta file
  • The steps of creating a Delta file
  • Inside the Delta file
  • Building our application
  • Building the result
  • Managing the source code
  • Creating the workspace
  • Setting up Visual Studio
  • Uploading the files
  • Summary
  • Index

Dateiformat: EPUB
Kopierschutz: Adobe-DRM (Digital Rights Management)

Systemvoraussetzungen:

Computer (Windows; MacOS X; Linux): Installieren Sie bereits vor dem Download die kostenlose Software Adobe Digital Editions (siehe E-Book Hilfe).

Tablet/Smartphone (Android; iOS): Installieren Sie bereits vor dem Download die kostenlose App Adobe Digital Editions (siehe E-Book Hilfe).

E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m. (nicht Kindle)

Das Dateiformat EPUB ist sehr gut für Romane und Sachbücher geeignet - also für "fließenden" Text ohne komplexes Layout. Bei E-Readern oder Smartphones passt sich der Zeilen- und Seitenumbruch automatisch den kleinen Displays an. Mit Adobe-DRM wird hier ein "harter" Kopierschutz verwendet. Wenn die notwendigen Voraussetzungen nicht vorliegen, können Sie das E-Book leider nicht öffnen. Daher müssen Sie bereits vor dem Download Ihre Lese-Hardware vorbereiten.

Weitere Informationen finden Sie in unserer E-Book Hilfe.


Download (sofort verfügbar)

28,05 €
inkl. 19% MwSt.
Download / Einzel-Lizenz
ePUB mit Adobe DRM
siehe Systemvoraussetzungen
E-Book bestellen

Unsere Web-Seiten verwenden Cookies. Mit der Nutzung dieser Web-Seiten erklären Sie sich damit einverstanden. Mehr Informationen finden Sie in unserem Datenschutzhinweis. Ok