Jimmy Clark wrote:In terms of "object-oriented software models", the term "domain" is typically used when describing applications creation for research, scientific or academic purposes, e.g. domain object model. The term "business" is typically used when describing applications created for commercial purposes, e.g. business object model.
When implementing MVC properly, there will be a Presentation model which will be very similar to the "data" portions of the business/domain model. However, the "logic" in this model will be different, i.e. it will support the GUI and not contain business logic.
When creating an application that includes a graphical user interface (GUI) for humans to interact with the application AND when implementing the Model-View-Controller (MVC) object-oriented design pattern, it is appropriate to maintain an independent business/domain model that does not contain any dependencies on whatever technology is used to implement the Controller or the View. There are many reasons for this. A close study of the MVC pattern will reveal these.
Don Kiddick wrote:I'm confused whether this is a domain model (where our domain is the ui) or a presentation model (in which case we don't really have a domain model).