CN104636333A - Domain-driven development plug-in system - Google Patents

Domain-driven development plug-in system Download PDF

Info

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
Application number
CN201310544634.9A
Other languages
Chinese (zh)
Inventor
张飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NINGXIA XINHANG INFORMATION TECHNOLOGY Co Ltd
Original Assignee
NINGXIA XINHANG INFORMATION TECHNOLOGY Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by NINGXIA XINHANG INFORMATION TECHNOLOGY Co Ltd filed Critical NINGXIA XINHANG INFORMATION TECHNOLOGY Co Ltd
Priority to CN201310544634.9A priority Critical patent/CN104636333A/en
Publication of CN104636333A publication Critical patent/CN104636333A/en
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation 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

A kind of domain driven development plug-in system
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.
CN201310544634.9A 2013-11-06 2013-11-06 Domain-driven development plug-in system Pending CN104636333A (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (5)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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