万本电子书0元读

万本电子书0元读

顶部广告

Learning Dynamics NAV Patterns电子书

售       价:¥

0人正在读 | 0人评论 9.8

作       者:Mark Brummel

出  版  社:Packt Publishing

出版时间:2015-09-24

字       数:143.5万

所属分类: 进口书 > 外文原版书 > 电脑/网络

温馨提示:数字商品不支持退换货,不提供源文件,不支持导出打印

为你推荐

  • 读书简介
  • 目录
  • 累计评论(0条)
  • 读书简介
  • 目录
  • 累计评论(0条)
Create solutions that are easy to maintain, quick to upgrade, and follow proven concepts and designs About This Book Design software that is maintainable outside the ecosystem of their creators Ensure quality by following patterns that have been proved to work Over two dozen practical Architectural and Design patterns Who This Book Is For Learning 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 Learn Apply object-oriented practices to C/AL programming Structure your application to avoid merge conflicts Refactor legacy code and avoid anti-patterns Design decision trees to decide when to use which patterns Clone codes and their application in Dynamics NAV Make your application extensible by creating predefined hooks and facades In Detail 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. Style and approach This 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.
目录展开

Learning Dynamics NAV Patterns

Table of Contents

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

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

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

Recurring Journals

Pages

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

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

An 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

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 function

The TestNear function

The TestFar function

The PostExampleOne/PostExampleTwo function

The PostExJnlLine function

The DeleteExampeDocument function

The layered model

Summary

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

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

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

累计评论(0条) 0个书友正在讨论这本书 发表评论

发表评论

发表评论,分享你的想法吧!

买过这本书的人还买过

读了这本书的人还在读

回顶部