Posts

Event Sourcing

Image
  Introduction Event Sourcing has been used in production by some of the world's biggest companies (including Netflix and Walmart) for years, providing them with the platform to rapidly scale, iterate and evolve their systems, and establishing a data model that delivers a strong competitive advantage. In this guide, we discuss what Event Sourcing is,  why  you'd use it, the range of benefits it provides and we break down the jargon. What is Event Sourcing? Event Sourcing is an architectural design pattern where changes that occur in a domain are immutably stored as events in an append-only log. This provides a business with richer data as each change that occurs within the domain is stored as a sequence of events which can be replayed in the order they occurred. This means you’re able to see more than just the current state of your domain - you can see what lead up to the current state.  In addition, as events also contain the context of the change – the ‘what’, ‘when’, ‘why’ a

S.O.L.I.D The First 5 Principle Of Object Oriented Design

Image
  Introduction SOLID  is an acronym for the first five object-oriented design (OOD) principles by Robert C. Martin (also known as  Uncle Bob ). Note:  While these principles can apply to various programming languages, the sample code contained in this article will use PHP. These principles establish practices for developing software with considerations for maintaining and extending it as the project grows. Adopting these practices can also help avoid code smells, refactor code, and develop Agile or Adaptive software. SOLID stands for: S  - Single-responsibility Principle O  - Open-closed Principle L  - Liskov Substitution Principle I  - Interface Segregation Principle D  - Dependency Inversion Principle In this article, you will be introduced to each principle individually to understand how SOLID can help make you a better developer. Single-Responsibility Principle Single-responsibility Principle (SRP) states: A class should have one and only one reason to change, meaning that a class