
Learning Dynamics NAV Patterns
Beschreibung
Alle Preise
Weitere Details
Weitere Ausgaben
Personen
Author, programmer, consultant, project manager, presenter, evangelist, sales person, and a trainer. It's next to impossible to find someone as experienced as Marije Brummel in the Business Central community. Marije received the Microsoft MVP and the NAVUG All-Star awards among several others. She has chaired the Microsoft Dynamics Credentialing committee and has authored official Microsoft Exam materials. She's the go-to girl for performance troubleshooting and upgrade challenges. One of her biggest achievements was introducing Design Patterns into the Business Central community. Her books, blog articles, and YouTube videos have influenced almost everyone involved with Business Central. She enjoys the outdoors with her dog and loves spending time with her family.
Inhalt
- Cover
- Title page
- Copyright
- Credits
- Foreword
- About the Author
- About the Reviewers
- Table of Contents
- 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
Systemvoraussetzungen
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 oder die App PocketBook (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.
Bitte beachten Sie: Wir empfehlen Ihnen unbedingt nach Installation der Lese-Software diese mit Ihrer persönlichen Adobe-ID zu autorisieren!
Weitere Informationen finden Sie in unserer E-Book Hilfe.
Dateiformat: PDF
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 oder die App PocketBook (siehe E-Book Hilfe).
- E-Book-Reader: Bookeen, Kobo, Pocketbook, Sony, Tolino u.v.a.m. (nicht Kindle)
Das Dateiformat PDF zeigt auf jeder Hardware eine Buchseite stets identisch an. Daher ist eine PDF auch für ein komplexes Layout geeignet, wie es bei Lehr- und Fachbüchern verwendet wird (Bilder, Tabellen, Spalten, Fußnoten). Bei kleinen Displays von E-Readern oder Smartphones sind PDF leider eher nervig, weil zu viel Scrollen notwendig ist.
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.
Bitte beachten Sie: Wir empfehlen Ihnen unbedingt nach Installation der Lese-Software diese mit Ihrer persönlichen Adobe-ID zu autorisieren!
Weitere Informationen finden Sie in unserer E-Book Hilfe.