Field-driven design: The Way to cope with software core complexity (I)
It has been at least 20 years since leading software designers began to regard Domain Modeling and design as a key issue, but surprisingly, there is almost no relevant literature to tell everyone what to do and how to do it. Although
Layered Architecture
Before introducing an instance, we need to review it and learn more about the layered architecture. "Layer" is an architecture model [POSA1]. It is also one of the most widely used and flexible models by the majority of software practitioners. I remember that on CSDN, some people often asked: "What is layer? Why layer? Is the layer-3 architecture the presentation layer, business logic layer, and data access layer ?"
At this point, you may think that the problem with these fr
Field-driven design and pattern practice
Author: [Sweden] Jimmy NilssonTranslator: Zhao Lima YanxinPress: People's post and telecommunications PressPublishing year: 2009-10Page: 380Pricing: 69.00 RMBISBN: 9787115212771
Douban: http://book.douban.com/subject/4058874/Dangdang: http://product.dangdang.com/product.aspx? Product_id = 20713397
Directory
Part 1 BackgroundChapter 5 value that should be paid attent
Software development is usually applied to existing automated processes in the real world, or to provide solutions to real business problems, that is, to automate business processes or practical problems that can be solved using software. From the very beginning, we must understand that software is born out of the field and is closely related to the field. The software is composedCodeThe final structure. Maybe we are tempted by code. It takes too much time to think of software as a simple object
Original address: http://www.blogjava.net/johnnylzb/archive/2010/05/27/321968.htmlThe previous article as a primer, explained the advantages of domain-driven design, from this article, the author will be combined with their own practical experience, talk about the application of domain-
ArticleDirectory
Model object lifecycle-factory
Model object lifecycle-factory
First, we should realize that an object has a lifecycle. This is applicable to both object-oriented languages and domain-driven design. In the domain-driven
P1:
I am learning about 'refactoring to patters' and have JoshuaKerievsky's book. A colleague and I are debating the relative meritsThe so-called table-driven design approach versus gof-centric designPattern approach: as a rule, do/shoshould one (or more) gof patternsSupplant table driven designs? If so, how shocould such a refactoringProceed? Any thoughts on t
I often see someArticleWe mentioned "domain-driven design ". Domain, drive, design, just three words, it sounds mysterious, and each word has enough weight to install B ....
I didn't care much at the beginning until one day I suddenly realized that I had a field-
Background
The central content of domain driven design (DDD) is how to map business domain concepts into software artifacts. Most of the books and articles on this subject are based on Eric Evans's book, Field-driven design, whic
Eric Evans's "domain-driven design-the way to cope with core software complexity" was hailed by many. Just like the gof4 Design Pattern of the year. I was also recommended by others to look at the design model. After reading the design
I personally think that there are too many concepts in this book. The architecture and development of software are not a combination of concepts. Just use the appropriate words to describe some empirical things.
The so-called risk-driven model selects the appropriate design strength based on the project situation to avoid over-design. For complex software systems
This article is the second part of the implementation of the DDD framework, mainly introduces the realization of the application layer of DDD, and explains the service and assemble responsibilities and implementation in detail. A github address is attached at the end of this article. Compared to the shipping system example in the original book of domain-driven design
It's written in front.
In fact, this series of articles have been many netizens reprinted, I also in the previous blog to give the original text of the link. But after all, blog park's popularity, plus a lot of netizens strongly asked me to post the article to the blog park, so finally determined to rearrange the series of articles and posted in the blog park.
According to the results of the discussion, as well as their own practice in the accumulation, in the process of finishing, I will be t
model?
Now let's look at LMAX as an actual example of my thoughts.
In this design, theoretically, you do not need to require a single thread to access the model, because the domain model does not depend on any external state, it only depends on the memory space in which it is located. a major benefit of a single thread is that it can prevent concurrent conflicts. In fact, we fully support multithreading or
(database-driven approach ). This proves that I am in the first articleArticle"Only the domain model can be mapped to the data model, but not the data model.
I can understand that many system-related friends like to consider database matters. After all, data storage is also an indispensable part of the software system (of course, the memory database should be different ), the database structure
First, we should know that the field-driven design is necessary.
"Domain-driven design", as its name implies, emphasizes "domain" first ". This term does not refer to anything in technology, but to the "business field". It refers
on the sales order lines, without having to deal with the sales order. Of course, you can do this, but if you have to stick to your point of view, then you are taking the sales order line as an aggregate root, that is, you acquiesced in the lines in your domain model as an entity with a separate concept. In this regard, a more "strong" view has been expressed in the community of domain-
Entity Framework, and the current Entity Framework is not completely domain-driven, preferring a technical architecture. For example, the customer entity above, in the solid frame-driven design, it has been "led by the EF"
Introduction of the Statute (specification) model. In the above implementation, while LINQ make
Before we talk about why we use analytic models, we now look at the basic principles of the design analysis model.
Assign responsibilities and responsibilities to drive design
When we begin to analyze the model, we must first understand a very important principle, that is, the responsibility of the center. One of the core principles of OO analysis design, is th
Case: A simple sales system
From now on, we will take a simple sales system as an example to discuss the application of entityframework in the field-driven design. To facilitate discussion, our sales system is very simple. It does not involve customers having multiple shipping addresses or any inventory management contents. Assume that our system only needs to maintain the product type, product, and custom
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.