The Database is a Detail
I've seen many applications where the database is in the center. In these applications the database is the most important part and everything else is just a shell around it. In most of the applications that I've seen, they use an ORM, and in some they use plain SQL. All of them had business objects without any behavior. All of the behavior, all of the business rules were in the database. I want you to think about that! What's an "object" in the sense of object-oriented programming? What characterizes an "object " ? The first sentence in Wikipedia about object-oriented programming states: Object-oriented programming ( OOP ) is a programming paradigm based on the concept of " objects ", which can contain data and code : data in the form of fields (often known as attributes or properties ), and code, in the form of procedures (often known as methods ). An object can contain data and code. In other words an object has data an...