Overview

Namespaces

  • NGS
    • Client
      • Exception
    • Converter
    • Patterns
  • PHP

Classes

  • AggregateDomainEvent
  • AggregateRoot
  • CubeBuilder
  • DomainEvent
  • GenericSearch
  • Identifiable
  • OlapCube
  • Repository
  • Search
  • Searchable
  • SearchBuilder
  • Snapshot
  • Specification
  • Templater

Interfaces

  • IDomainObject
  • IIdentifiable
  • Overview
  • Namespace
  • Class
  • Tree

Namespace NGS\Patterns

Classes summary
AggregateDomainEvent DomainEvent which should be used when there is an action to be applied on a single aggregate root.
AggregateRoot Aggregate root is a meaningful object in the domain. It can be viewed as a write boundary for entities and value objects that will maintain write consistency.

Usually it represents a single table, but can span several tables and can be used like document or similar data structure. Since every aggregate is also an entity, it has a unique identification represented by its URI.

DSL example: <blockquote><pre> module Todo { aggregate Task { timestamp startedAt; timestamp? finishedAt; int? priority; List<Note> notes; } value Note { date entered; string remark; } } </pre></blockquote>

CubeBuilder Helper for createing and analyizing OLAP cubes
DomainEvent Domain event represents an meaningful business event that occurred in the system. It is a message that back-end system knows how to process and that will change the state of the system.

They are preferred way of manipulating data instead of simple CRUD operations (create, update, delete). Unlike NGS\Patterns\AggregateDomainEvent which is tied to a change in a single NGS\Patterns\AggregateRoot, DomainEvent should be used when an action will result in modifications to multiple aggregates, external call (like sending an email) or some other action.

By default event will be applied immediately. If {@code async} is used, event will be stored immediately but applied later.

GenericSearch Customized search on domain object
Identifiable Domain object uniquely represented by its URI. Entity and snowflake are example of domain objects which are identified by it's identity, instead of values. While entity does not implement Identifiable, aggregate root does.
OlapCube
Repository Description of Repository
Search
Searchable
SearchBuilder
Snapshot
Specification Search predicate which can be used to filter domain objects from the remote server.
Templater Service for creating documents based on templates and data. Data can be provided or specification can be sent so data is queried on the server.

Byte array is returned from the server which represents docx, xlsx, text or converted pdf file.

More info about Templater library can be found at http://templater.info

Interfaces summary
IDomainObject
IIdentifiable
API documentation generated by ApiGen 2.8.0