By application layer: presentation (UI), business logic (services), data access (DAL), integration (API/ESB), infrastructure (runtime/hosting)
By functional domain: authentication/authorization, user management, billing, reporting/analytics, workflow, search, notifications, administration
By responsibility type: core domain components, supporting/utility components, cross-cutting components
By coupling and reuse: shared/common libraries, reusable services, domain-specific components
By deployment scope: client-side (web/mobile/desktop), server-side (microservice/module), edge/IoT, backend platform components
By runtime model: monolith module, microservice, serverless function, batch job, event-driven consumer/producer
By interaction style: REST, GraphQL, gRPC, messaging (queues/topics), file transfer, streaming
By data ownership: system-of-record components, read models/projections, caching layers, data pipelines/ETL
By state management: stateless, stateful, session-based, persistent stateful (database-backed)
By scalability pattern: horizontal scale components, vertical scale components, singleton/system components
By security classification: identity providers, policy enforcement points, secrets management, audit/logging components
By reliability characteristics: critical components (SLA/SLO), non-critical components, best-effort components
By lifecycle/volatility: stable core, frequently changing features, experimental/prototype components
By compliance/regulatory impact: regulated data handlers, audit trail components, retention/archival components
By interface exposure: internal-only, partner-facing, public/external API endpoints
By build/packaging: libraries, modules, services, containers, Helm charts, infrastructure-as-code components
By operational role: orchestrators, schedulers, workers, gateways, proxies, load balancers
By observability role: logging, metrics, tracing, health checks, monitoring/alerting
By environment role: dev/test/prod specific components, feature-flagged components
