Documentation
Domain-driven design uses several building blocks to create your application or domain. Although not all of your classes have to be one of these, most of them probably will.
Entities
Domain objects that change over time. These have an ID and will usually be mutable classes.
Value objects
Domain objects that are defined by their attributes. They are immutable.
Domain events
Things that have happened in the domain. Past tense. These can be dispatched to other applications or domains. See eventual consistency.
Aggregates
A group of entities and value objects. See bounded contexts.
Domain services and application services
Domain services are used for logic that spans multiple aggregates. Application services don't contain any domain logic at all. They do your transaction management and coordinate between bounded contexts if that's necessary.
Repositories
A repository is reseponsible for all communication with your database (or whatever it is you use to store data). You could also see this as an aggregate factory.