Use domain-Driven Modeling in projects

Source: Internet
Author: User

1. Description of Domain Modeling

Domain Modeling is not a new concept. Domain Modeling expert Eric Evans has started using domain driven design since he published domain driven design in. After Tsinghua University published a Chinese version in, domain-driven design was widely used in some web projects. It is worth noting that the domain model is not only applicable to web projects, but also to database projects, network deployment, and analysis and computing projects. Domain model is a kind of thinking, a method, and an effective way to grasp the essence of the problem in the system analysis phase.

What is Domain Modeling.

2. What is Domain Modeling?

What is a domain model? appropriate concepts are abstract. It is better to understand from the actual practice: Based on the analysis phase and design phase, some analysis models are compiled using the domain-driven design method. The domain-driven design method is actually oriented to the real world. Based on the current system, the concept classes in the domain are abstracted and expressed. Therefore, the domain model is also called the conceptual model and domain object model. As follows:

 

From the perspective of business understanding, analysts and experts outline the skeleton view of domain knowledge, which is the domain model. Do not expect the experts to give you a complete description of their problem domains. You can only plan the basic business content of the business party based on the OO idea, as shown in.

As a result, we thought that the conceptual model is not just to draw the class diagram of the project. It is not that simple! Domain models reflect the convergence of business content and software systems. They need to aggregate concepts and combine models. Ideally, they can achieve MDD (model-driven design) and MDA (model-driven architecture ). Similarly, models based on software systems also need to be fully mapped to the real world.

Iii. Role of Domain Modeling

Role of the domain model. In fact, the role has been highlighted through the description in the second part. Here is an overview:

1. The domain model is the most valuable content provided by the business party to system construction and the core of the system construction content. In many articles, Domain Models are known as artistic technologies and specifically used to quickly solve complex software problems.

2. Domain Modeling is a control method that effectively solves analysis paralysis and avoids over-design.

3. In the face of a complex and large project, you can unify the team Thinking and business caliber, so that the model is rooted in the field and the analysis and design are closely related, the core part of the design is mapped to the business.

It seems a little exaggerated. In general, it can be used to focus on the issues to be handled!

4. How to perform Domain Modeling

For a project. This section describes the process from business to system, and then from system to business. As follows:

1. Search for entity classes in the business field. The business field is unfamiliar to technical personnel who indulge in technology and needs to fully communicate with business experts. These conceptual classes have some features, such as the existence and extinction process, despite the complete state change features throughout the lifecycle. For example, if a website's products are to be sold as VAS (which may not exist, we can imagine a demand first), we are looking for entities, therefore, you should not look for specific products such as wangpu, business opportunity adviser, and E customer service, because it is too ambitious. This abstraction cannot reflect the business dealings in the concept's life cycle.

2. Use UML to draw a class diagram of an object. The use of UML is similar to that of Java or C for technicians, because you are painting class diagrams. What needs to be done in this step is to organize the obtained entity class into class digoal. The relationships between classes must be expressed based on the obtained business knowledge and OO Knowledge. However, the relationship between classes is quite deep. I think it is quite fun to think about it as a technician. If analysts are doing this, they should try their best to communicate with developers to obtain a system vision. As follows:

3. Add associations and attributes. Adding attributes and associations is equivalent to adding flesh and blood to the skeleton. Provide ideal Requirements for the next step into the design stage. Of course, it is feasible for analysts to provide additional domain knowledge to developers so that they can be supplemented completely. Because it is OO Knowledge content, needless to say. Possible results are as follows:

Based on the analysis model, the design needs to modify the content with incorrect knowledge point associations from the system implementation to achieve system implementation. If you first outline the model diagram from the system, you need to map the required content with the business party.

Abstract concepts must use aggregation factories and combination modes to optimize business entities.

 

 

V. Description

In fact, the point I want to describe is that domain models are organized by analysts and design personnel, including the comprehensive content of business experts and system experts, this model can be used to drive project construction and serves as the core guide throughout the project process.

If your project has a wide range of business fields and a deep technical perspective, you can experience the field-driven approach, which is very effective.

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.