The wages of sinOver architecture in the real world
Originally posted at 3/10/2011
This time, this is a review of the Sharp Commerce application. Again, I have stumbled upon the application by pure chance, and I have very little notion about who wrote it. The problem is that this system seems to be drastically more complicated than it should be.
I am going to focus on different parts of the system in each of those posts. In this case, I want to focus on the very basis for the application data access:
Are you kidding me? This is before you sit down to write a single line of code, mind you. Just the abstract definitions for everything makes my head hurt.
It really hits you over the head when you get this trivial implementation:
public class EmailTemplateRepository : Repository<EmailTemplate>, IEmailTemplateRepository { public EmailTemplate Get(EmailTemplateLookup emailId) { return Get((int)emailId); } }
Yes, this is the entire class. I am sorry, but I really don’t see the point. The mental weight of all of this is literally crashing.
More posts in "The wages of sin" series:
- (24 Mar 2011) Hit that database one more time…
- (23 Mar 2011) Inverse leaky abstractions
- (22 Mar 2011) Proper and improper usage of abstracting an OR/M
- (21 Mar 2011) Re-creating the Stored Procedure API in C#
- (18 Mar 2011) Over architecture in the real world

Comments
Comment preview