Design and Develop AOT Elements
Tables and extensions
Design tables with proper extended data types rather than base types, a narrow clustered primary-key index (usually surrogate RecId plus a unique alternate key), relations, delete actions, and field groups that drive form layouts and lookups. A table extension adds fields, indexes, field groups and relations to an existing table; it cannot change properties of existing fields.
Behavior
New logic belongs in a class extension using Chain of Command, a wrapper method with the same name and signature that calls next, or in an event handler subscribed with the SubscribesTo attribute on a pre or post event. Chain of Command cannot wrap private methods or methods on final classes; fall back to an event when the seam is missing.
User interface
A form extension adds controls to an existing design. Menu items of type display, action or output are the entry points that a menu, a workspace and a privilege reference. A form is unreachable until a menu item exists and a privilege grants it.
Other elements to know
Enums and enum extensions, views, query objects, data entities, SSRS report artifacts, workflow types and approvals, security privileges and duties, labels, and resources.
Trap: adding a field through a table extension and forgetting the form extension, so it never appears. Another: hard-coded text instead of a label, which raises best-practice errors. Rule of thumb: for a new field on an existing table, the checklist is table extension, form extension or field group, label, then build and synchronize.