Defines AL interfaces and interface patterns with implementing codeunits, creates extensible enums to switch providers, and enables dependency injection for unit testing AL code with mocks. Use when building plugin architectures, adding loose coupling, replacing conditional logic with polymorphism, or creating Business Central extensions with swappable implementations.
85
—
Does it follow best practices?
Impact
92%
1.43xAverage score across 2 eval scenarios
—
The risk profile of this skill
Pluggable AL order validation with is/as dispatch and registry pattern
Multiple implements clause
100%
100%
List of Interface declaration
100%
100%
Foreach loop over interface list
100%
100%
is operator for capability check
100%
100%
as downcast to logger interface
0%
100%
BC25+ version comment
100%
100%
RegisterHandler procedure
100%
100%
OnRegisterHandlers integration event
50%
40%
EventSubscriber subscribes to OnRegisterHandlers
100%
100%
Small focused interfaces
100%
100%
AL interface and extensible enum for payment providers
Interface naming convention
0%
100%
Execute procedure signature
0%
100%
Cancel procedure signature
50%
40%
GetProviderName procedure
0%
100%
Interface purity
100%
100%
Provider codeunit naming
50%
70%
Implements clause on codeunits
0%
100%
Extensible enum
100%
100%
Implementation binding syntax
100%
100%
Implicit enum-to-interface conversion
0%
100%
Only codeunits implement interface
100%
100%
52f8705
Table of Contents
If you maintain this skill, you can claim it as your own. Once claimed, you can manage eval scenarios, bundle related skills, attach documentation or rules, and ensure cross-agent compatibility.