What is the difference between Domain Class Diagram and Design Class Diagram

Posted on 2006-05-20
Last Modified: 2013-11-12

I want to know the difference between Domain Class Diagram and Design Class Diagram. Also, what are the classes should it includes?

Thank you very much!

Question by:charles_cp
    LVL 4

    Accepted Solution

    A domain class diagram models the concepts in the problem space.   Typically a domain class diagram just shows the name of the classes and helps model the vocabulary of the problem space.  A design class diagram is, as you'd expect, to help model the actual design concepts.  Obviously this has more detail than the domain diagram, because it must model the fine-grained concepts of implementation.  

    As an example, if you had to implement a design pattern, the classes needed to support this would not be in the domain class model (after all the design pattern is to solve a particular problem, not the general one).  

    In short - the domain class diagram models the high level concepts in the system, not the implementation details.  

    In this respect the domain class diagram can be compared to a platform independent model (PIM).  The domain class digram should be modelled without concern for the underlying implementation language.

    Hope that helps!

    Author Comment

    Thank you for your help! It is so abstract!

    For example, there is a online order system. A registered user must login first. Next, the user selects the item from the item list. Then, the user enter the address ,and delivery date. After that, the user confirm all of the details. Last, system shows the payment.

    In this case, what are the classes of domain class diagram and design class diagram?

    LVL 4

    Expert Comment

    Domain classes would be all the things that are implementation independent

    Delivery Address
    Delivery Date

    In the design class we'd need to be more specific to the implementation of the language.  For example, we might want to implement the Strategy pattern for the Payment class (so we could deal with sales taxes in a variety of countries), so we'd now start to model that, we'd end up with a number of more specific classes (see for the general idea).

    Write Comment

    Please enter a first name

    Please enter a last name

    We will never share this with anyone.

    Featured Post

    What Should I Do With This Threat Intelligence?

    Are you wondering if you actually need threat intelligence? The answer is yes. We explain the basics for creating useful threat intelligence.

    Suggested Solutions

    Author Note: Since this E-E article was originally written, years ago, formal testing has come into common use in the world of PHP.  PHPUnit ( and similar technologies have enjoyed wide adoption, making it possib…
    In this sixth video of the Xpdf series, we discuss and demonstrate the PDFtoPNG utility, which converts a multi-page PDF file to separate color, grayscale, or monochrome PNG files, creating one PNG file for each page in the PDF. It does this via a c…
    Here's a very brief overview of the methods PRTG Network Monitor ( offers for monitoring bandwidth, to help you decide which methods you´d like to investigate in more detail.  The methods are covered in more detail in o…

    737 members asked questions and received personalized solutions in the past 7 days.

    Join the community of 500,000 technology professionals and ask your questions.

    Join & Ask a Question

    Need Help in Real-Time?

    Connect with top rated Experts

    18 Experts available now in Live!

    Get 1:1 Help Now