After having used these fflib libraries ( https://github.com/financialforcedev/df12-apex-enterprise-patterns ) in a few projects, I have to take a moment to recommend them. If you are doing salesforce development (hear apex custom coding), get these libraries and utilize them, use the naming conventions, and you will have better results. Code will be more organized, readable, and bugs easier to find. I have done several Salesforce projects, some of which were implemented without the these Financial Force libraries. I am a happier developer when I get to work on those projects with the libraries than without.
I recently got to meet the Financial Force folks at Dreamforce '14 in San Francisco. A fun bunch - I hope you can support them with your business when you have the need.
Good luck to all of you Salesforce developers out there!