Skip to content

Latest commit

 

History

History
22 lines (18 loc) · 1.07 KB

README.md

File metadata and controls

22 lines (18 loc) · 1.07 KB

Vigenere Cipher

Domain Driven Design implementation of the famous Vigenère cipher

The purpose of this example is the usage of a rich domain model VigenereCipher, containing the entire logic and state via value objects made out primitive data types. The object is instantiated via a function and never changed after that.

Included:

  • Objects instead of primitive types
  • Function(s) instead of a single constructor
  • Unit tests for PhpUnit

The idea of DDD is opposed to anemic models where most of the logic is pushed away into services.

For more information about the DDD concept as whole (inc. Data Transfer Objects) have a look at these excelled references: