Helion


Szczegóły ebooka

Learning Dynamics NAV Patterns

Learning Dynamics NAV Patterns


Microsoft 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.

  • Learning Dynamics NAV Patterns
  • Credits
  • Foreword
  • About the Author
  • Acknowledgement
  • About the Reviewers
  • www.PacktPub.com
  • Support files, eBooks, discount offers, and more
    • Why subscribe?
    • Free access for Packt account holders
    • Instant updates on new Packt books
  • Preface
    • What this book covers
    • What you need for this book
    • Who this book is for
    • Conventions
    • Reader feedback
    • Customer support
      • Downloading the example code
      • Downloading the color images of this book
      • Errata
      • Piracy
      • Questions
  • 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
      • Legacy code
      • Upgradability
      • Delta files
      • Repeatability
      • Lifecycle of a design pattern
      • Software architecture in Microsoft Dynamics NAV
    • Building blocks
      • Table
      • Page
      • Report
      • Codeunit
      • Query
      • XMLPort
      • MenuSuite
    • Metadata
      • Flowfields
      • Flowfilters
    • Base application
      • Functional processes
    • Summary
  • 2
  • Architectural Patterns
    • The Singleton Pattern
      • Technical description
      • Company-Initialize
      • Implementations
      • Enhancements
    • The Supplemental and Subsidiary Pattern
      • Technical description
      • Implementations
    • The Compound Pattern
      • Technical description
    • The Rules Pattern
      • Technical description
      • Implementations
      • Examples
    • The Master Data Pattern
      • Technical description
      • Implementations
      • Examples
    • The Journal Template-Batch-Line Pattern
      • Technical description
      • Implementations
      • Examples
    • The Entry Pattern
      • Technical description
      • The Entry Table types
      • Entries that can be deleted
      • Implementations
      • Examples
    • Document Pattern
      • Technical description
      • Implementations
      • Examples
    • The Argument table
      • Technical description
      • Implementations
    • Summary
  • 3
  • Design Patterns
    • The Entity State Pattern
      • Technical description
      • Setting the State
      • Testing the State
      • Implementations
      • Examples
    • The Select Pattern
      • Technical description
      • Implementations
    • The Number Series Pattern
      • Technical description
      • Implementations
      • Examples
    • Address Integration Pattern
      • Technical description
      • Copying the address
      • Implementations
      • Examples
    • Multi-Level Setup
      • Technical description
      • Implementations
      • Examples
    • Document History
      • Technical description
      • Implementations
      • Examples
    • Copy Document Pattern
      • Technical description
      • Implementations
      • Examples
    • Job Queue Entry Pattern
      • Technical description
      • Implementations
    • Dismissible dialogs and save preferences
      • Technical description
      • Implementations
    • Setup Update Pattern
      • Technical description
      • Implementations
      • Example
    • Model-View ViewModel Pattern
      • Technical description
      • Implementations
      • Examples
    • Summary
  • 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
      • 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 layered model
    • Summary
  • 5
  • Coding Best Practices
    • Coding guidelines
      • Code design
      • Code readability
    • 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
  • 6
  • Anti-patterns and Handling Legacy Code
    • Anti-patterns
      • Code cloning
      • Boat anchors
      • Other anti-patterns and context
      • Programming language capabilities
    • Legacy code
    • Refactoring the C/AL Code
      • Refactoring tables
      • Code refactoring
    • The boy scout rule
    • Summary
  • 7
  • Building Solutions Using Patterns
    • Building blocks
      • Applying Architectural Patterns
    • 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
  • Thank you for buying Learning Dynamics NAV Patterns
    • About Packt Publishing
    • About Packt Enterprise
    • Writing for Packt