CN104636333A - Domain-driven development plug-in system - Google Patents
Domain-driven development plug-in system Download PDFInfo
- Publication number
- CN104636333A CN104636333A CN201310544634.9A CN201310544634A CN104636333A CN 104636333 A CN104636333 A CN 104636333A CN 201310544634 A CN201310544634 A CN 201310544634A CN 104636333 A CN104636333 A CN 104636333A
- Authority
- CN
- China
- Prior art keywords
- model
- message
- domain
- query
- design
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
The invention belongs to the field of network communication, and provides a domain-driven development plug-in system. The system comprises a command-query separation system design unit, a message agent unit and a message model design unit, wherein the command-query separation system design unit is used for separating a service process from date query in a domain model, the message agent unit is used for enabling a domain to be in communication with the outside and supports local messages and distributed messages, and the message model design unit is used for achieving information interaction of domain components through domain messages and adopts a concurrent event driving mode and an AOP model. According to the DDD principle and the Spring framework, a DDD plug-in Takia based on domain message driving and memory modeling is realized, and project implementation is completely compatible with DDD design. Meanwhile, a communication mechanism based on messages can effectively decouple system modules and improve the concurrency performance of the system, so that the system is more reasonable and more efficient in project implementation.
Description
Technical field
The invention belongs to network communication field, particularly relate to a kind of domain driven development plug-in system.
Background technology
As the core that system data stores and analyzes, database plays an important role in infosystem, current enterprise-level application platform development and design must depend on relational database, database is while playing a great role, its mode configuration also creates larger gap with the Object-Oriented Systems Analysis theory of main flow, along with system scale constantly increases, the systematic analytic method of Kernel-based methods and affairs script can not meet business demand.
Field modeling based on OO technique construction is theoretical, for extensive operation system analysis provides strong theoretical direction, along with this respect theory is constantly ripe, in the systematic analysis being applied to every field gradually and framework.The initial stage of field modeling (Domain Modeling-DM) is the ORM(Object Relationship Mapping based on Object Relation Mapping) technology, ORM is by the data-mapping of database and object, solve the mismatch problem of relation and object, allow system design analysis personnel can solve field question with pure object technology.But along with going deep into of business diagnosis, the anaemia object model that ORM produces, due to the disappearance of capacity, allows system deteriorate to transaction process from object model again, deviates from gradually with DM theory.Subsequently in order to avoid the drawback of Anemia model and the congested model occurred, business and data are all merged in domain model, a lot of framework is had to be all carried out putting into practice (as ROR in a large number in the theoretical foundation of congested model, Grails, Spring Roo etc.), these Quick Development Frameworks are applied extremely successful in undersize item, because the development scheme of its template type, powerful dynamic approach generates, and the quick characteristic such as framing scaffold (Scaffolding), the powerful function that allowed congested domain model have.But along with business increases, domain object rapid expansion, maintenance difficulties also in increase, makes system be in a uncontrollable state, and it is unclear that the integration of the field of business and data makes the structure of system thicken, so this class framework is not successfully applied in mega project exploitation all the time.
A kind of Domain development model Evans DDD based on four chromogen types, emphasize that domain design must be instruct with business, Evans DDD not only compensate for object behavior disappearance and the life cycle problem of ORM, also the congested model defect too fat to move along with the expansion in field is efficiently solved, for large scale system design and development provides a rational solution route by field polymerization Sum decomposition.Because the design concept of Evans DDD is relatively more flexible, system development and designer have carried out a lot of practices to this theory and have achieved more achievement, but the Floor layer Technology framework that neither one is unified all the time supports this model.This causes great obstacle not only to the popularization of this theory, does not have unified framework support, and system developer is also difficult to systematic analysis to be converted to coding, greatly reduces the efficiency of the practice of system.Simultaneously existing frame system is take database as the hierarchy of core substantially, and also for the practice of DDD causes very large obstacle, some brand-new frameworks, due to can not good compatible former Legacy System, be also difficult to be promoted.
DDD is completely based on business object modeling (In-Memory) method of internal memory, but in the project implementation process, current Development Framework all depends on relational database system, although ORM has carried out bridge joint between database and operation system, but only support that Anemia model and Object Life Cycle cannot DDD couplings, cause System Implementation process not conform to designing; Existing DDD framework can not covering system business completely, also immature stable, cannot be applied to the exploitation of actual items.
Summary of the invention
The embodiment of the present invention provides a kind of domain driven development plug-in system, and the problem that field mismatch, degraded performance and DDD theory and practice are incompatible appears in the layering structure being intended to solve JavaEE in prior art.
The embodiment of the present invention is achieved in that a kind of domain driven development plug-in system, and described system comprises:
Order inquiry separation system design cell, for separating of the business procedure in domain model and data query;
Message Agent unit, for making field communicate with the external world, and supports local message, and distributed message; And
Message model design cell, for being realized the information interaction of territory component by field message, adopts concurrent event-driven mode and AOP programming model.
The embodiment of the present invention is theoretical and Spring framework according to DDD, achieve a DDD plug-in unit Takia based on field message-driven and internal memory modeling, make the complete compatible DDD design of the project implementation, the effective decoupled system module of message based communication mechanism energy simultaneously, improve system concurrency performance, more rationally efficient in the project implementation.
Accompanying drawing explanation
Fig. 1 is the structural drawing of the domain driven development plug-in system that the embodiment of the present invention provides;
Embodiment
In order to make object of the present invention, technical scheme and advantage clearly understand, below in conjunction with drawings and Examples, the present invention is further elaborated.Should be appreciated that specific embodiment described herein only in order to explain the present invention, be not intended to limit the present invention.
The embodiment of the present invention, based on Spring framework, achieves a kind of DDD plug-in unit Takia based on field message-driven and internal memory modeling, makes the complete compatible DDD design of the project implementation, and message based communication mechanism can effective decoupling zero system module simultaneously.
Fig. 1 shows the structure of the domain driven development plug-in system that the embodiment of the present invention provides, and details are as follows:
Business procedure in order inquiry separation system design cell 12 separation field model and data query.
In an embodiment of the present invention, the business procedure based on Takia is made up of command line and inquiry bus, and this inquiry is divided into pattern query and query composition, all supports paging query.
In an embodiment of the present invention, order inquiry separation system design cell 12 comprises: model creation flow scheme design module 121, model modification flow scheme design module 122, model deletes flow scheme design module 123 and pattern query flow scheme design module 124.
Model creation flow scheme design module 121 is according to user data model of creation object and correlation object.
Model modification flow scheme design module 122 revises the model object and correlation object that have existed according to user data.
Model is deleted flow scheme design module 123 and is deleted according to user data the model object and correlation object that have existed.
Pattern query flow scheme design module 124 is according to the data list of querying condition interrogation model.
Message Agent unit 13 makes field communicate with the external world, and supports local message, and distributed message.
Message model design cell 14 realizes the information interaction of territory component by field message, adopts concurrent event-driven mode and AOP programming model.
In an embodiment of the present invention, field message model is according to the producer-consumer's Design Mode framework of standard.
In an embodiment of the present invention, message model design cell 14 comprises: JDK-Future message model design module 141 and Disruptor message model design module 142.
JDK-Future message model design module 141 runs message listener according to Future message model.
In an embodiment of the present invention, Future message model realizes based on the Concurrent bag of JDK, core component is ChannelExecutor, be made up of thread pool and Synchronization Component, if use asynchronous mode, then thread pool runs message listener, if use synchronous mode, then message listener is put into current thread and performed by Synchronization Component.
Disruptor message model design module 142 runs multiple message handling device according to Disruptor message model simultaneously, independent set handling result.
In an embodiment of the present invention, Disruptor message model realizes based on concurrency programming framework Disruptor, and adopt disparate step mode and support 1:N massage pattern, core texture is made up of input area and output set.
As a preferred embodiment of the present invention, this domain driven development plug-in system also comprises satellite structure modelling unit 11.
Satellite structure modelling unit 11 by realizing service logic with the message of core realm, and with entity field for core.
In an embodiment of the present invention, domain driven development plug-in system, based on entity object, value object, gathering and field event, adopts distributed caching to realize the In-Memory model in field.
In an embodiment of the present invention, the irradiation structure that it is core with field container that this system adopts, all adopts the transparent mechanism of SpringAOP and Auto-Proxy to realize to field buffer memory and field message.
The embodiment of the present invention is theoretical and Spring framework according to DDD, achieve a DDD plug-in unit Takia based on field message-driven and internal memory modeling, make the complete compatible DDD design of the project implementation, the effective decoupled system module of message based communication mechanism energy simultaneously, improve system concurrency performance, more rationally efficient in the project implementation.
The above is only the preferred embodiment of the present invention; it should be pointed out that for those skilled in the art, under the premise without departing from the principles of the invention; can also make some improvements and modifications, these improvements and modifications also should be considered as protection scope of the present invention.
Claims (5)
1. a domain driven development plug-in system, is characterized in that, described system comprises:
Order inquiry separation system design cell, for separating of the business procedure in domain model and data query;
Message Agent unit, for making field communicate with the external world, and supports local message, and distributed message;
Message model design cell, for being realized the information interaction of territory component by field message, adopts concurrent event-driven mode and AOP programming model.
2. the system as claimed in claim 1, is characterized in that, the business procedure in described separation field model is made up of command line and inquiry bus, and the data query in described separation field model is divided into pattern query and query composition, all supports paging query.
3. the system as claimed in claim 1, is characterized in that, described order inquiry separation system design cell specifically comprises:
Model creation flow scheme design module, for according to user data model of creation object and correlation object;
Model modification flow scheme design module, for revising the model object and correlation object that have existed according to user data;
Flow scheme design module deleted by model, for deleting the model object and correlation object that have existed according to user data;
Pattern query flow scheme design module, for according to the data list of querying condition interrogation model.
4. the system as claimed in claim 1, is characterized in that, described field message model is according to the producer-consumer's Design Mode framework of standard.
5. the system as claimed in claim 1, is characterized in that, described message model design cell specifically comprises:
JDK-Future message model design module, for running message listener according to Future message model; And
Disruptor message model design module, for running multiple message handling device according to Disruptor message model simultaneously, independent set handling result.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310544634.9A CN104636333A (en) | 2013-11-06 | 2013-11-06 | Domain-driven development plug-in system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310544634.9A CN104636333A (en) | 2013-11-06 | 2013-11-06 | Domain-driven development plug-in system |
Publications (1)
Publication Number | Publication Date |
---|---|
CN104636333A true CN104636333A (en) | 2015-05-20 |
Family
ID=53215105
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310544634.9A Pending CN104636333A (en) | 2013-11-06 | 2013-11-06 | Domain-driven development plug-in system |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104636333A (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106815016A (en) * | 2016-12-23 | 2017-06-09 | 四川大学 | A kind of MVVM based on Domain Driven Design designs a model |
CN107463576A (en) * | 2016-06-03 | 2017-12-12 | 上海点融信息科技有限责任公司 | Data processing method and equipment |
US11567760B2 (en) | 2020-02-26 | 2023-01-31 | International Business Machines Corporation | Transforming select portions of a monolithic application to microservices |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101000618A (en) * | 2006-12-25 | 2007-07-18 | 华为技术有限公司 | Method and device for set-up disconnection data programmed model and its application |
KR20080006070A (en) * | 2006-07-11 | 2008-01-16 | 주식회사 에너랜드코퍼레이션 | The system which searches the attention objective person from crowd utilization facilities |
CN101354696A (en) * | 2008-09-08 | 2009-01-28 | 北京航空航天大学 | Data integration and application service system based on electric communication field sharing information model |
CN101588388A (en) * | 2009-05-26 | 2009-11-25 | 中国科学院软件研究所 | A kind of based on distributed adaptive service collaboration method and system thereof |
CN102981823A (en) * | 2012-10-25 | 2013-03-20 | 四川农业大学 | Domain driven development plug-in system |
-
2013
- 2013-11-06 CN CN201310544634.9A patent/CN104636333A/en active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20080006070A (en) * | 2006-07-11 | 2008-01-16 | 주식회사 에너랜드코퍼레이션 | The system which searches the attention objective person from crowd utilization facilities |
CN101000618A (en) * | 2006-12-25 | 2007-07-18 | 华为技术有限公司 | Method and device for set-up disconnection data programmed model and its application |
CN101354696A (en) * | 2008-09-08 | 2009-01-28 | 北京航空航天大学 | Data integration and application service system based on electric communication field sharing information model |
CN101588388A (en) * | 2009-05-26 | 2009-11-25 | 中国科学院软件研究所 | A kind of based on distributed adaptive service collaboration method and system thereof |
CN102981823A (en) * | 2012-10-25 | 2013-03-20 | 四川农业大学 | Domain driven development plug-in system |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107463576A (en) * | 2016-06-03 | 2017-12-12 | 上海点融信息科技有限责任公司 | Data processing method and equipment |
CN106815016A (en) * | 2016-12-23 | 2017-06-09 | 四川大学 | A kind of MVVM based on Domain Driven Design designs a model |
US11567760B2 (en) | 2020-02-26 | 2023-01-31 | International Business Machines Corporation | Transforming select portions of a monolithic application to microservices |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102981823B (en) | A kind of domain driven development plug-in system | |
CN102034152B (en) | The method for integrating of heterogeneous software system data and system based on SOA framework | |
CN102664954B (en) | HLA-based (High Level Architecture-based) distributed simulation support platform and implementation method thereof | |
CN103218402B (en) | General database data structure and data mover system and method thereof | |
CN103425585B (en) | OSGI (Open Service Gateway Initiative) integration testing method | |
CN104699723A (en) | Data exchange adapter and system and method for synchronizing data among heterogeneous systems | |
CN109359112A (en) | A kind of automatic generation method and code generator of code | |
CN105447253A (en) | Integration method of three-dimensional process data | |
CN104636333A (en) | Domain-driven development plug-in system | |
CN111506950A (en) | BIM structure transformation increment information generation and storage system and method | |
CN105743870A (en) | Design method of intelligent substation integrated business platform service interfaces | |
CN102722368B (en) | Plug-in software designing method based on document tree and message pump | |
CN102004955A (en) | Power dispatching, operation and management application system | |
CN104052804A (en) | Method, device and cluster for sharing data streams between different task topologies | |
CN103677825A (en) | Multithreading universal data processing frame and establish method thereof based on Java | |
CN113094039B (en) | Automatic code generation system based on database table | |
Dai | Design and implementation of ESB based on SOA in power system | |
CN107239601B (en) | Flexible configuration method of power distribution terminal based on configuration technology | |
CN105573763A (en) | Embedded system modeling method supporting RTOS | |
CN104361000A (en) | Access method and system for relational database based on self-built database connection pool | |
CN106682230A (en) | Information service system based on HTML5 and CSS3 mobile display technological architecture | |
CN102446164A (en) | Analytic method, device and operation system of report formula | |
CN111090698B (en) | Alarm synchronization method and device for centralized monitoring of distribution network 1+ N system | |
CN206962865U (en) | Isomery formula integrated portable Cloud Server | |
CN101751260A (en) | Business object persistence processing method based on dynamic labels |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20150520 |