Browse by Date
Viewing entries tagged with 'member abstraction'
Screencasts are difficult to produce. This one took me more than 20 takes. As I worked intensively with the backend I even found a bug: Newly registered anonymous users were not added to their proper member group. In case nobody watches this screencast it was good for debugging ;)
Today I want to talk about the customer abstraction of our beloved software module. When we first started we were not sure if we should decorate or extend the member class. We started with extending the member class because it appeared the must straightforward to us, as we always think in classes. With "Customer extends Member" we implemented a lot of additional functions to the Customer class. A Customer had a shopping cart, addresses and many extra attributes. During a hallway test we realized that an admin, which was merely of class "Member", did not have this extra relations and attributes and had not the same frontend experience as a customer. For us this was easy to comprehend, but our further customer would not understand that. So we decorated the Member class with the generally needed relations and attributes and then extended it three times: "BusinessCustomer", "RegularCustomer" and "AnonymousCustomer".