Overview of domain-driven models

Source: Internet
Author: User

ReadDomain-driven design tackling complexity in the heart of software

DddThe basic requirements for modeling are as follows,First, the model and implementation are mutually bound.In our current project, we may understand that, in general, we use a set of models to communicate with customers (which is easier for users to understand ), in our system implementation, our architecture is another model that is frequently used by our technicians;A language is generated based on the model.That is, the language that contains many domain terms and some technical terms. In the future model evolution and business discussions, you can use this language to organize sentences to describe the model;Model contains rich knowledgeBecause the model must solve complex domain problems, not just a data solution, the objects have behaviors and constraints.Model ExtractionWith the evolution and improvement of models, some important concepts have been added. Similarly, some concepts that are useless or cumbersome should be discarded, model is always the core of displaying the whole project in real time; ApplicationBrainstorm and perform simple experimentsCreate and extract models. The model-based language and the constraints in the implemented feedback loop provide support.

 

With regard to knowledge digestion, efficient domain modelers are knowledge digesters. They seek a simple view that is meaningful to a large amount of redundant information. As many models are abandoned after experiments, the significance of our work is that our achievements can accurately express the most relevant specific knowledge that has been found, that is, a group of abstract concepts that can clearly define the meaning of all details. This process is Ddd One obvious feature of this feature is that the development team cooperates with field experts and is led by developers to accept information and make it a useful form, the source of the raw materials can be the opinions of experts in the field, the existing system users, the technical team experience of the relevant old system, or another project in the same field, a large number of talks and documents. In the traditional waterfall mode, "business experts talk with analysts, analysts extract summaries, abstract the results, and then convey the results to developers who code the software ", this method fails because it does not have a feedback mechanism. Analysts only obtain information from business experts for work, they do not have the opportunity to learn new knowledge from developers or gain experience from early software versions, and the one-way flow of knowledge does not accumulate interaction. Projects that use the iteration process fail to effectively create new knowledge because they do not abstract the knowledge. Developers ask the business experts to describe the function and then build it, display the results, and ask for the next step, this is only effective when developers are familiar with this field. Even if useful software can be built, the project will never be able to derive more powerful new features from the early features. The simultaneous intervention of developers and analysts makes the model organized and abstract reasonably, and also provides great support for implementation. In addition, the expert in the field is involved in the process, the model reflects the deep business knowledge and can abstract real business rules. As a response model, the interaction between the model and programming and design should be a tool for information exchange in projects. The model is continuously evolving, but the model must be practical in the field, must be accurate to make the applicationProgramEasy to implement and understand.

 

For the project documentation,"CodeIs the document ",XPIt has been promoted for a long time, but it is also limited. written documents, diagrams, and code should be complementary to each other. The key scenarios are small and accurate.UMLA graph is necessary. A model is not a graph. A graph and a document are used to supplement the concept of a model beyond the code. Both the code and the document should use the language of the model.

 

our current practice will always make you feel the shadows of both the old method and the new process, after all, there will always be a variety of practical projects The existence of objective factors, resources, risks, and so on. Learning these new and promoted practices allows you to participate in the practice from another height or perspective. No matter what process you use, good practices can always be used for reference.

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.