Skip to content

Glossary

Technical Terms

  • abstract
    • Use the abstract modifier in a class declaration to indicate that a class is intended only to be a base class of other classes, not instantiated on its own.
      • Non-abstract classes that derive from the abstract class must implement members marked as abstract. It may also override members marked as virtual.
  • BugSink
    • PoC Issues
    • Bugsink is a tool to track errors in your applications that you can self-host. It’s easy to install and use, is compatible with the Sentry SDK, and is scalable and reliable. (Hmmmm!)
  • Cross-Cutting Concerns
    • Cross-cutting concerns are parts of a program that rely on or must affect many other parts of the system. They form the basis for the development of aspects.
      • An "aspect" of a program is a feature linked to many other parts of the program, but is not related to the program's primary function.
  • CQRS Pattern
    • Command Query Responsibility Segregation.
    • Segregate the read and write operations for a data store into separate data models. This approach allows you to optimize each model independently and can improve the performance, scalability, and security of an application.
  • FrozenDictionary
    • Provides an immutable, read-only dictionary optimized for fast lookup and enumeration.
  • IResult interface
    • Defines a contract that represents the result of an HTTP endpoint.
  • Mediator Pattern
    • Mediator is a behavioral design pattern that lets you reduce chaotic dependencies between objects. The pattern restricts direct communications between the objects and forces them to collaborate only via a mediator object.
  • Middleware
    • Middleware is software that's assembled into an app pipeline to handle requests and responses. Request delegates are used to build the request pipeline. The request delegates handle each HTTP request.
  • Minimal API
    • Minimal APIs are the recommended approach for building fast HTTP APIs with ASP.NET Core. They allow you to build fully functioning REST endpoints with minimal code and configuration. Skip traditional scaffolding and avoid unnecessary controllers by fluently declaring API routes and actions.
  • OpenTelemetry
    • Open source observability framework. It provides a single set of APIs, libraries, agents, and collector services to capture distributed traces and metrics from your application.
  • Pipeline Behaviours
  • record type
    • Tells the compiler to generate value equality, a formatted ToString, and nondestructive mutation through with expressions.
    • Use records when a type's primary role is storing immutable data and two instances with the same values should be considered equal.
  • RESTful API
    • Expose resources over HTTP using predictable URL patterns and standard HTTP verbs.
  • sealed
    • Prevents other classes from inheriting from that class.
  • Scoped
    • A scoped lifetime indicates that services are created once per client request (connection). In apps that process requests, scoped services are disposed at the end of the request.
  • Scrutor
    • Assembly scanning and decoration extensions for Microsoft.Extensions.DependencyInjection..
  • Sentry
    • An application debugging and error-monitoring feature that captures system logs and correlates them directly with crashes, performance bottlenecks, and user actions. (Hmmmm!)
  • Serilog
    • Provides diagnostic logging to files, the console, and elsewhere.
  • Singleton
    • Singleton lifetime services are created when they are first requested (usually in the dependency injection at application start up).
    • Every subsequent request of the service implementation from the dependency injection container uses the same instance.
  • Singleton Pattern
    • Singleton is a creational design pattern that lets you ensure that a class has only one instance, while providing a global access point to this instance.
  • Strategy Pattern
    • Strategy is a behavioral design pattern that lets you define a family of algorithms, put each of them into a separate class, and make their objects interchangeable.
  • TypedResults class
    • Static class used to generate strongly typed HTTP responses in API endpoints.
  • Transient
    • A service with a transient lifetime is created each time it is requested from the service container.
    • Transient services are disposed at the end of each request.
  • ValueType
    • is the .NET base class for all C# value types (struct and enum). It provides default behavior like value-based equality and boxing support.
    • The docs lay out the full tradeoffs of using this type.
  • Vertical Slice Architecture
    • Jimmy / Video who gave a great talk, and I've advocated for it ever since.
    • Vertical slicing is a development technique that emphasizes delivering end-to-end functionality by building small, vertically oriented increments of a system. It focuses on organizing code around user-facing features or user stories.
  • virtual
    • Use the virtual keyword to modify a method, property, indexer, or event declaration and allow a derived class to override it.

Ubiquitous Language

TermDescription
BollocksA term we are not allow to use for naming things. Just in case.
MaiaThe new i-Coach-[AI]-based admin tool.