Modeling
34 items tagged with "modeling"
Best Practices2
Domain-Driven Design (DDD)
A software design approach that models complex business domains in code, using a shared language and bounded contexts to align software structure with the business it serves.
C4 Model for Software Architecture
The C4 model is a lean, hierarchical way to diagram software architecture at four levels of abstraction: System Context, Containers, Components, and Code.
Patterns23
Strategy
Defines a family of interchangeable algorithms behind a common interface so the algorithm can vary independently from the clients that use it.
Observer
Establishes a one-to-many dependency so that when one object changes state, all its dependents are notified and updated automatically.
Command
Encapsulates a request as an object, letting you parameterize, queue, log, and undo operations independently of who invokes them.
Iterator
Provides a uniform way to traverse the elements of a collection sequentially without exposing its underlying representation.
Mediator
Centralizes complex communication between objects in a mediator so components refer to it instead of to each other, reducing coupling.
Memento
Captures and externalizes an object's internal state so it can be restored later without violating encapsulation.
State
Lets an object alter its behavior when its internal state changes, appearing to change class by delegating to state-specific objects.
Template Method
Defines the skeleton of an algorithm in a base method, deferring specific steps to subclasses so they can vary parts without changing the structure.
Visitor
Separates an algorithm from the object structure it operates on, letting you add new operations over a class hierarchy without modifying it.
Chain of Responsibility
Passes a request along a chain of handlers, each deciding to process it or forward it, decoupling sender from the specific receiver.
Interpreter
Defines a grammar for a simple language and an interpreter that evaluates sentences in that language using a class per grammar rule.
Null Object
Provides a do-nothing object with neutral behavior in place of null, eliminating null checks and special-case handling.
Specification
Encapsulates a business rule as a reusable, combinable predicate object that tells whether a candidate satisfies the rule.
Servant
Defines shared behavior for a group of classes in a separate servant object that operates on them, instead of duplicating the behavior in each class.
Blackboard
Coordinates independent specialized components that incrementally build a shared solution on a common data store for ill-defined problems.
Repository
Mediates between the domain and data mapping layers via a collection-like interface for accessing domain objects, hiding persistence details.
Unit of Work
Tracks objects affected by a business transaction and coordinates writing out changes and resolving concurrency as a single commit.
Data Mapper
Moves data between objects and a database while keeping them independent, so domain objects carry no persistence knowledge.
Active Record
Wraps a database row in an object that carries both the data and the methods to load, save, and delete itself.
Value Object
Models a concept defined by its attributes rather than identity, making it immutable and compared by value to keep the domain expressive and safe.
Domain Event
Captures something significant that happened in the domain as an explicit object, decoupling the trigger from the reactions to it.
Star Schema
A dimensional data-modeling pattern with a central fact table linked to denormalized dimension tables, optimized for fast, intuitive analytical queries.
Slowly Changing Dimension (SCD)
Techniques for handling changes to dimension attributes over time in a data warehouse, ranging from overwriting to preserving full historical versions.
FAQs4
What is data modeling?
Data modeling is the practice of defining how data is structured, related, and stored to meet an application's or analytics needs. It usually progress...
What is the difference between supervised and unsupervised learning?
Supervised learning trains a model on labeled examples, where each input has a known target, so the model learns to predict labels for new data in tas...
What is overfitting in machine learning?
Overfitting happens when a model learns the training data too closely, including its noise and quirks, so it performs well on that data but poorly on ...
What is Domain-Driven Design (DDD)?
Domain-Driven Design (DDD) is an approach to building software that puts the business domain and its language at the center of the design. It encourag...
Glossaries4
Normalization
Normalization is the process of organizing relational database tables to reduce data redundancy and improve integrity by decomposing them according to normal forms and linking related data with keys.
Denormalization
Denormalization is the deliberate introduction of redundancy into a database schema — by duplicating or precomputing data — to improve read performance, accepting reduced write efficiency and integrity guarantees.
Primary Key
A primary key is a column or set of columns that uniquely identifies each row in a relational database table, enforcing uniqueness and non-null values and serving as the row's canonical identifier.
Foreign Key
A foreign key is a column or set of columns in one relational table that references the primary key of another table, enforcing referential integrity by ensuring referenced rows exist.