DDD CQRS and traditional crud

Source: Internet
Author: User
three stages of server backend development Ui+database's two-tier architecture, this database-oriented architecture (table module above) has no flexibility. Ui+service+database's multi-layered SOA architecture, this service + table model architecture makes services more cyst-prone, difficult to maintain, and poorly scaled, see here for discussion or spring
The biggest failure of Web apps.

Ddd+soa's event-driven CQRS read-write separation architecture, dealing with complex business logic, replaces data-table models with aggregation models, and replaces concatenated message-driven with concurrent event-driven. Truly achieve flexible expansion with business entities as the core.

DDD is revolutionary in that domain models accurately reflect the business language, whereas transactional programming models such as traditional Java EE or spring+hibernate only care about data, and these data objects have no business methods other than simple setter/getter methods, Is likened to a blood loss model, so where is the model of the domain model that has a business approach to congestion.
The biggest benefit of DDD is that the first step in reaching a requirement is to consider a domain model rather than cutting it into data and behavior, then data is implemented using a database, behavior is implemented with services, and the first limb of the demand is separated. DDD lets you first consider the business language, not the data. The emphasis differs in that programming world view differs.

DDD is one of the most effective ways to solve complex and large-scale software, and has become the mainstream in foreign countries. DDD sees many reasons for the complexity of software, and it is impossible to avoid these complexities and to control complex problems. And a good domain model is the key to control complex problems. The value of the domain model lies in providing a common language that enables domain experts and software technicians to connect and communicate without ambiguity.

DDD in the software production process to locate the following diagram, DDD landed implementation can not be separated from in-memory cache, CQRS, DCI, EDA or event source a few major related fields.

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.