Mango.Nop.Libraries/Mango.Nop.Core/docs/CONVENTIONS.md

1.5 KiB

Conventions

For core framework conventions (Ac prefix, naming patterns, Session/Transaction, etc.) see AyCode.Core's docs/CONVENTIONS.md.

Framework-First Placement

Follow the doctrine in AyCode.Core's docs/CONVENTIONS.md#framework-first-placement. Same verdict table and hard rules apply.

Nop-plugin-framework-specific additions:

  • NopDependencies/ mirror classes stay in their original Nop namespaces — don't rename, don't add plugin-specific fields
  • DTOs parameterize via type arguments, not concrete plugin types
  • Any plugin-specific business logic belongs in the plugin project, not here
  • Adding a new shared DTO: ensure it is useful for 2+ plugin projects (otherwise keep in the single plugin)

Naming

  • Mg prefix: for Mango-framework-level types (e.g. MgEntityBase, MgOrderDto, MgProductDto)
  • IMg prefix: for Mango-framework-level interfaces (e.g. IMgModelDtoBase, IMgSoftRemoveEntity)
  • No prefix: for NopCommerce entity mirrors in NopDependencies/ — they stay in Nop namespace, same name as upstream

XML Documentation

<summary> — brief, developer-facing, readable in VS IntelliSense tooltip. NO implementation details, NO wire-format / byte-level / perf specifics — those live in docs/TOPIC/*.md. Add <example> only when usage is non-obvious; otherwise omit.

See Also

  • Core framework naming (Ac / IAc prefixes), patterns, serialization conventions: AyCode.Core's docs/CONVENTIONS.md
  • Framework-first verdict table (full): AyCode.Core's docs/CONVENTIONS.md#framework-first-placement