buttercup-php/protects — pull request #6 by jaspernbrouwer (2014-07-22 07:08:42+00:00)
Title: Removed `final` keyword to allow inheritance

The `append()` method clearly indicates the `AggregateHistory` class should be extended in order to implement it. But the `final` keyword prevents this.

I'm not sure when this `append()` method should be used though, but I'm fairly new to Event Sourcing. Maybe it doesn't really belong in this class but wasn't removed yet. That would explain the `final` keyword being there. I'd like your thoughts on this.

PS: Another reason I'd like the `final` keyword removed is to create a test-double (or spec-double, as I'm using phpspec). But I realize that changing production code purely for running tests/specs is a big "no" in some cultures.